是Symfony 2.8"页面创建" docs错过了一步?

时间:2015-12-04 22:33:49

标签: symfony symfony-2.8

在使用偶尔的Symfony组件之后,我最终决定制作一个真正的Symfony项目并安装Symfony 2.8,然后转到page creation docs并按照它所说的步骤进行操作

// src/AppBundle/Controller/LuckyController.php

文件。我做到了它确实说你需要制定一条路线,但在它说要测试它之前它没有说明如何做到这一点。所以我测试了它,因为它说并得到了

No route found for "GET /lucky/number"

错误。我假设我需要制作路线,但不应该该页面显示该步骤吗?

2 个答案:

答案 0 :(得分:2)

代码在文档的第一个代码块中解释:http://symfony.com/doc/2.8/book/page_creation.html#creating-a-page-route-and-controller

如果这不起作用,一定有问题。有几件事需要检查:

  • 您的app/config/routing.yml是否包含以下3行?

    app:
        resource: "@AppBundle/Controller/"
        type:     annotation
    
  • 您的src/AppBundle/Controller/LuckyController.php文件是否包含use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
  • 方法之前的多行注释是否以/**开头(而不是正常的/*)?它是否直接跟着方法定义,没有任何空行等等?

答案 1 :(得分:0)

路由由控制器中的@Route注释设置(还有其他方法可以实现,但这是大多数情况下的默认方式)。所以它是在第11行的示例代码中创建的:

     * @Route("/lucky/number")

您在上述文档中也对此进行了解释:

  

@Route上面的numberAction()称为注释,它定义了网址格式。您也可以用YAML(或其他格式)编写路线:在routing章节中阅读此内容。

可能需要清除你的缓存,如果它不能正常工作,删除app/cache/dev/下的所有内容或从命令行运行:

php app/console cache:clear