2013-07-13 2 views
1

Итак, сначала TL: DR - Symfony не собирает дополнительные файлы маршрутизации в моем комплекте. Не знаю, почему. Пробовал делать импорт, как в config.yml, и он не работает ниSymfony2 не собирает несколько файлов ym маршрутизации/Импорт не работает в yml-файле

У меня есть несколько контроллеров для обслуживания моего кода. То есть Все действия, связанные с сайтом, находятся в SiteController, все действия, связанные с приложением, находятся в AppController и т. Д.

Итак, я решил, что сделаю файлы маршрутизации соответствующими моим контроллерам. Файлы размещены в MyBundle/Resources/config. Дело в том, что они не собираются, когда я делаю php app/console router: debug. Поэтому я подумал, что я просто импортирую их в файл routing_mybundle.yml, который генерирует symfony во время процесса generate: bundle. Так что я сделал следующее:

imports: 
    - { resource: routing_site.yml } 
    - { resource: routing_app.yml } 

Я получаю сообщение об ошибке, говорящее:

routing_mybundle.yml содержит недопустимые ключи для "импорта": "0", "1". Ожидается один из следующих: «ресурс», «тип», «префикс», «шаблон», «путь», «хост», «схемы», «методы», «значения по умолчанию», «требования», «параметры».

Я понимаю, что он ищет определенные ключи, но я не уверен, почему он будет работать в config.yml, но не в файле routing.yml.

Если я следующее работает:

imports: 
    resource: routing_site.yml 

или если я «цепь» импорта в файлах он работает. Поэтому я подразумеваю, что я импортирую routing_app в routing_site и routing_site в routing_mybundle.

Кто-нибудь знает, как заставить тег импорта работать, или как сделать так, чтобы symfony забирал мои routing_ * * .yml-файлы?

Спасибо :)

EDIT:

Благодарности к forgottenbas для ответа. Для тех, у кого была такая же проблема, как и я (несколько конфигурационных файлов в одном комплекте), вот что я должен был сделать в файле routing.yml WITHIN myBundle/Resources/config.

Моя структура каталогов выглядит

MyBundle/ 
    Resources/ 
     config/ 
      routing.yml 
      routing_site.yml 
      routing_app.yml 

Так что я должен был сделать следующие

SiteController: 
    resource: routing_site.yml 

AppController: 
    resource: routing_app.yml 

Еще раз спасибо

ответ

2

Вы можете импортировать файлы маршрутизации этого пути

маршрутизацию. yml

SiteBundle: 
    resource: "@SiteBundle/Resources/config/routing_site.yml" 

AppBundle: 
    resource: "@AppBundle/Resources/config/routing_app.yml" 

FOSUserBundle сделать то же самое.

+0

Это было! Спасибо :) Еще раз спасибо –