2015-06-08 2 views
0

Я работаю над проектом Symfony2 и в файле routing.yml У меня есть следующие строки:имен маршрутов, начинающиеся с подчеркиванием в Symfony2

_front: 
    resource: routing_front.yml 

_admin: 
    resource: routing_admin.yml 
    prefix: /admin 

Так что это на самом деле позволяет определить маршруты для переднего конца а back-end в отдельных выделенных файлах.

Как насчет имен? Это просто соглашение об именах, которое начинается с подчеркивания - что на первый взгляд скажет, что фактические маршруты находятся в другом файле, или это влияет на то, как эти средства обрабатываются?

ответ

2

Это только соглашение об именах.

Но основа будет обрабатывать маршруты, сопоставляя первый маршрут, заданный с помощью согласующего URL запрошенного, затем второй и так далее ...

Так что в вашем случае, даже если вы запросили http://www.mysyte.com/admin/whatever, он будет соответствовать этому URL со всеми маршрутами в routing_front.yml перед сопоставлением их с routing_admin.yml

0

Эти имена становятся особенно полезными при создании ссылок в шаблонах прута - вместо жесткого кодирования URL-адреса, вы можете генерировать абсолютные URL, основанные на именах маршрутов, например, :

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

Подчеркивание сделать это более очевидно, маршрут, если вы разработчик особенно далеки в Symfony-землю (это соглашение), но они определенно не требуется сами по себе.

+0

Это, безусловно, не рекомендуется для префикса имен маршрутов с подчеркиванием в целом! Как предполагает принятый ответ, префиксные названия маршрутов являются условным обозначением «частных» маршрутов, таких как профилировщик, которые не предназначены для «фактического» использования в пользовательской области. –