Php 带批注的symfony2路由不工作

Php 带批注的symfony2路由不工作,php,symfony,Php,Symfony,我刚刚下载了symfony2,并开始通过注释进行路由。我在为使用注释而创建的包中设置了app/config/routing.yml,并删除了Acme包及其所有路由引用。也就是说,我曾尝试在我的控制器中创建两个不同的路由注释,如@route(“/”)和@route(“/hello/{name}”),但我总是遇到404错误(使用dev环境)。如果我在routing.yml中添加路由,即使路由配置为使用注释,它也可以正常工作。不管出于什么原因,我的注释似乎被忽略了 这是我的app/config/rou

我刚刚下载了symfony2,并开始通过注释进行路由。我在为使用注释而创建的包中设置了app/config/routing.yml,并删除了Acme包及其所有路由引用。也就是说,我曾尝试在我的控制器中创建两个不同的路由注释,如@route(“/”)和@route(“/hello/{name}”),但我总是遇到404错误(使用dev环境)。如果我在routing.yml中添加路由,即使路由配置为使用注释,它也可以正常工作。不管出于什么原因,我的注释似乎被忽略了

这是我的app/config/routing.yml:

DanDefaultBundle:
  resource: "@DanDefaultBundle/Controller/"
  type:     annotation
  prefix:   /
这是我的控制器方法:

/**
 * @Route("/")
 * @Template()
 */
public function indexAction()
{
    return array('name' => 123);
}
我已经包括了Sensio\Bundle\FrameworkExtraBundle\Configuration\Route名称空间-就我所知,我在文档中看到的一切都是正确的。我忽略了什么导致symfony2似乎忽略了我的路由注释?同样,如果我将路由添加到路由yaml中,那么一切都可以正常工作,因此我的包也可以正常工作,但是注释似乎被忽略了

谢谢

更新:
因为我是在开发环境中操作的,所以看起来除了routing.yml之外,我还必须将路由添加到routing_dev.yml。我想这就是为什么在开发和生产之间有不同的路线?我想必须特别小心,以确保这些路由保持同步?

如果您在routing.yml中使用Route Prefix,您意外地从
routing\u dev.yml
中删除了
routing.yml

必须在类声明上方声明前缀,如下所示:

/**
 * @Route("/")
 */
class PostController extends Controller
{
    /**
     * @Route("/")
     * @Template()
     */
    public function indexAction()
    {
    }

    /**
     * @Route("{id}")
     * @Template()
     */
    public function showAction($id)
    {
    }
} 

在我看来,好像你不小心将routing.yml从routing_dev.yml中删除了。确实如此。我需要添加回:_main:resource:routing.yml