Intereting Posts
Со стороны сервера поддержки подготовлены инструкции с PDO? DDD и MVC: разница между «моделью» и «сущностью» Как получить значения блока checkbox в Laravel 5? Проверка пар ключ / значение между массивами как я могу получить все флажки, даже если они не проверены с HTML на PHP? Установить выбранное значение, основанное на извлеченном из базы данных значении Как я могу безопасно обнаруживать SSL в CakePHP за обратным прокси-сервером nginx? php str_replace и \ b граница слова вызов функции php с помощью ajax PHP max_execution_time игнорируется (нет безопасного режима, нет общего хоста, только localhost / windows7 / php 5.3.1 и время ожидания Apache равно 300) Доступ к конфигурации модуля в Zend Framework 2 Как определить «Google Chrome» в качестве пользовательского агента с помощью PHP? Подсчет значений в массиве Как правильно обрабатывать международный характер в PHP / MySQL / Apache Тег DIV, создающий новую строку в php

Как добавить префикс маршрута ко всем контроллерам в Symfony2?

Я использую аннотации для определения маршрутов в контроллерах, и у меня есть 15 контроллеров. Все они выполняются /path1 , /path2 .

Есть ли способ, что во всех этих контроллерах я могу получить к ним доступ через /admin/path1 и /admin/path2 ?

Я не хочу вводить это, меняя каждый файл.

Могу ли я сделать это из одного места? Я имею в виду, что весь пакет должен открываться через /admin а затем их соответствующие пути.

попробуй это

 # app/config/routing.yml acme_hello: resource: "@AcmeHelloBundle/Resources/config/routing.yml" prefix: /admin 

или если использовать аннотации

 resource: "@AcmeHelloBundle/Controller" type: annotation prefix: /admin 

Используйте это в routing.yml :

 Admin: resource: "@AdminBundle/Controller" type: annotation prefix: /admin 

Просто определите аннотацию для своего класса (не для метода)

 /** * @Route("/blog") */ 

http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/routing.html#route-prefix

Если вы хотите, например, префикс конкретного контроллера DevController и иметь что-то вроде:

myproject.com/dev/test

в вашем контроллере добавьте следующую аннотацию маршрута, как в примере:

  /** * @Route("/dev") */ class DevController extends Controller{ /** * @Route("/test") */ public function testSavingAction(){ return new Response(); } ....