Symfony2中以下划线开头的路由名称
我正在处理一个Symfony2项目,在文件Symfony2中以下划线开头的路由名称,symfony,symfony-routing,Symfony,Symfony Routing,我正在处理一个Symfony2项目,在文件routing.yml中有以下几行: _front: resource: routing_front.yml _admin: resource: routing_admin.yml prefix: /admin 因此,这实际上允许在单独的专用文件中定义前端和后端的路由 那名字呢?这仅仅是一种以下划线开头的命名约定(乍一看就会知道实际路由在不同的文件中),还是这会影响框架处理这些路由的方式?这只是一种命名约定 但框架将通过将
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土地(这是一个惯例),下划线使其更明显地成为一条路线,但它们本身绝对不是必需的 通常,在路由名称前面加下划线绝对不是推荐的做法!正如公认的答案所表明的,带前缀的路由名称是一种惯例,用于标记“私有”路由,如探查器,它不用于用户区中的“实际”使用。