2013-07-13 54 views
1

因此,首先關閉TL:DR - Symfony不會在我的包中找到其他路由文件。不知道爲什麼。嘗試做像config.yml進口,它不工作Symfony2沒有拾取多個路由yml文件/導入不能在yml文件中工作

我有多個控制器的可維護性我的代碼。即所有與網站相關的操作都在SiteController中,所有與應用程序相關的操作都在AppController中等。

所以我想我會讓路由文件與我的控制器相對應。這些文件位於MyBundle/Resources/config中。事情是,當我做一個PHP應用程序/控制檯路由器時,他們沒有被拿起:調試。所以我想,我只是將它們導入到symfony在generate:bundle過程中生成的routing_mybundle.yml文件中。所以,我做了以下內容:

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能夠接收我的路由_ * * .yml文件?

謝謝:)

編輯:

感謝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

這樣做!謝謝:) 再次感謝 –