Symfony 2.8 "page creation" 文档是否缺少一个步骤?

Is the Symfony 2.8 "page creation" docs missing a step?

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

// src/AppBundle/Controller/LuckyController.php

文件。我做到了。它确实说你需要做一条路线,但在说要测试之前没有说如何做。所以我按照它说的进行了测试并得到了

No route found for "GET /lucky/number"

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

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

     * @Route("/lucky/number")

这在您提到的文档中也有解释:

The @Route above numberAction() is called an annotation and it defines the URL pattern. You can also write routes in YAML (or other formats): read about this in the routing chapter.

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

php app/console cache:clear

代码在文档第一个代码块中解释: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;
  • 方法前的多行注释是否以/**开头(而不是正常的/*)?是不是直接跟在方法定义后面,没有空行之类的?