我正在开发一个 Symfony2 项目,在文件中routing.yml
我有以下几行:
_front:
resource: routing_front.yml
_admin:
resource: routing_admin.yml
prefix: /admin
所以这实际上允许在单独的专用文件中定义前端和后端的路由。
那些名字呢?下划线开头是简单的命名约定——乍一看,它会告诉你实际路由在不同的文件中——或者这对框架如何处理这些有影响?
我正在开发一个 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
当您在 twig 模板中创建链接时,这些名称变得特别有用 - 您可以根据路由名称生成绝对 URL,而不是硬编码 URL,例如:
<a href="{{ url('_welcome') }}">Welcome page</a>
下划线使它更明显地成为一条路线,如果你是一个特别深入 Symfony 领域的开发人员(这是一个约定),但它们本身绝对不是必需的。