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

Symfony2中以下划线开头的路由名称,symfony,symfony-routing,Symfony,Symfony Routing,我正在处理一个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与
路由\u front.yml
中的所有路由进行匹配,然后再与
路由\u admin.yml

匹配。当您在细枝模板中创建链接时,这些名称特别有用-您可以根据路由名称生成绝对url,而不是硬编码url,例如:

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


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

通常,在路由名称前面加下划线绝对不是推荐的做法!正如公认的答案所表明的,带前缀的路由名称是一种惯例,用于标记“私有”路由,如探查器,它不用于用户区中的“实际”使用。