Symfony2 中以下划线开头的路由名称

Route names starting with underscore in Symfony2

我正在处理 Symfony2 项目,在文件 routing.yml 中有以下行:

_front:
    resource: routing_front.yml

_admin:
    resource: routing_admin.yml
    prefix:   /admin

所以这实际上允许在单独的专用文件中定义前端和后端的路由。

但是名字呢?它只是一个以下划线开头的命名约定 - 乍一看会告诉实际路由在不同的文件中 - 或者这对框架如何处理这些有影响吗?

这只是一种命名约定。

但框架将通过匹配定义的第一个路由与请求的匹配 url 来处理路由,然后是第二个路由,依此类推...

因此,在您的情况下,即使您请求 http://www.mysyte.com/admin/whatever,它也会先将此 url 与 routing_front.yml 中的所有路由匹配,然后再将它们与 routing_admin.yml[= 匹配13=]

当您在 Twig 模板中创建链接时,这些名称变得特别有用 - 您可以根据路由名称生成绝对 URL,而不是对 URL 进行硬编码,例如:

<a href="{{ url('_welcome') }}">Welcome page</a>

下划线使它更明显地成为一条路线,如果你是一个特别深入 Symfony 领域的开发者(这是一个惯例),但它们绝对不是 必需的本身。