【发布时间】:2020-03-07 07:58:39
【问题描述】:
我正在启动 symfony,我遇到了这种情况。
我在文档中读到:
https://symfony.com/pdf/Symfony_getting_started_4.3.pdf
第 21 页
可以在注释路径中强制 URL 包含匹配方法的默认参数,因为我读过只是将字符 ! 放在参数名称之前:/blog/{!页}
我有以下代码,我希望在其中测试此功能(取自 Symfony 文档)
// src/Controller/BlogController.php namespace App\Controller; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; class BlogController { /** * @Route("/blog/{page}", name="blog_list") */ public function list(int $page = 1) { return new Response( '<html></body>Lucky number: '.$page.'</body></html>' ); } }
如果我在浏览器中编写,此代码可以正常工作
但是当我试图通过完全按照文档中提到的方式强制 URL 显示默认值时,输入“!”在路由中的参数名称之前 {! page}如下:
/**
* @Route("/blog/{!page}", name="blog_list")
*/
它显示以下错误:
找不到“GET /blog”的路由
我不知道我是否阅读文档不好,但我找不到我做错了什么,感谢任何帮助。
【问题讨论】:
-
考虑使用指向您引用的文档的链接更新您的问题。我懒得自己去查了。
-
你使用的是 Symfony 4.3 吗?
-
你好 Cerad,是的,我正在使用 Symfony 4.3.5
-
我在一个新项目中得到了同样的“找不到路线”。尝试了一些东西,但无法绕过它。在 github 上没有找到任何相关的问题。也许别人有答案。或者可以试试 Symfony slack 频道。
标签: symfony parameters routes annotations documentation