1

偶尔使用 Symfony 组件后,我最终决定做一个真正的 Symfony 项目并安装 Symfony 2.8,然后转到页面创建文档并按照它说的步骤制作

// src/AppBundle/Controller/LuckyController.php

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

No route found for "GET /lucky/number"

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

4

2 回答 2

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;?
  • 方法之前的多行注释是否以/**(而不是正常的/*)开头?是直接跟在方法定义后面,没有任何空行之类的吗?
于 2015-12-05T09:35:51.083 回答
0

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

     * @Route("/lucky/number")

您提到的文档中也对此进行了说明:

以上称为注解@Route,它定义了 URL 模式。您还可以用 YAML(或其他格式)编写路由:在路由章节中阅读有关此内容的信息。numberAction()

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

php app/console cache:clear
于 2015-12-04T22:50:46.973 回答