You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:22:07