Symfony 4中能否通过YAML配置路由名称?
在Symfony YAML路由中设置路由名称的正确方式
嘿,完全可以在YAML配置里设置路由名称,只是你搞反了配置的结构哦!
在Symfony的YAML路由配置规则里,路由的名称就是你定义的顶级键,而不是通过name字段来指定——这也是你感觉YAML不支持name键的原因,因为它根本不需要这个字段!
你原来用注解写的路由:
/** * @Route("/cms", name="security_login") */ public function loginAction(Request $request, AuthenticationUtils $authenticationUtils) { // 业务代码 }
要转换成等价的YAML配置,应该写成这样:
security_login: path: /cms controller: App\Controller\SecurityController::loginAction
这里的顶级键security_login就对应注解里的name="security_login",完全是同一个路由名称。你之前写的login:会把路由名设为login,额外加的name: security_login是无效的,Symfony会忽略这个未被识别的配置项。
如果需要批量配置路由(比如引入整个控制器的注解路由),才会用到resource、prefix这类字段,但单个路由的话,直接用顶级键定义路由名称就可以了。
内容的提问来源于stack exchange,提问作者Bham
相关产品推荐
相关产品推荐

