2012-07-08 87 views
1

我有一個MagazineBundle,它在其中一個Twig模板中有path('portfolio'),這是已加前綴的另一個包的根。Symfony2:捆綁路由可以命名空間嗎?

# app/config/routing.yml 

LameMagazineBundle: 
    resource: "@LameMagazineBundle/Resources/config/routing.yml" 
    prefix: /

LamePortfolioBundle: 
    resource: "@LamePortfolioBundle/Resources/config/routing.yml" 
    prefix: /portfolio 

# src/Lame/PortfolioBundle/Resources/config/routing.yml 

portfolio: 
    pattern:/
    defaults: { _controller: LamePortfolioBundle:Default:index } 

但是,如果我添加第三個包,可能是一個我已經下載和安裝,並且包也正好也有一個名爲「投資組合」的路線,我會重命名路線還是有辦法命名空間他們?

我試着用兩個匹配的路由名進行試驗,結果是最後一個聲明覆蓋第一個。

回答

2

它沒有內置到路由系統中。您必須手動爲您的路由名稱添加捆綁包或其他名稱空間。

FOSRestBundle具有路由前綴功能,但我不確定它是多麼耦合,或者它是否可以輕鬆使用,而沒有所有捆綁包的其他功能。

http://symfony.com/doc/master/bundles/FOSRestBundle/6-automatic-route-generation_multiple-restful-controllers.html#naming-collisions

+0

有趣的是,感謝您的鏈接。我會做一些實驗,看看我能否給它加上前綴,然後回報,在這一點上,我會將其標記爲已接受。 – 2012-07-13 16:26:25

+0

現在我回到了Symfony2的開發,我又看了一遍。似乎如果我需要某種自動前綴功能,解決方案將在'FOSRestBundle/Routing/RestRouteCollection.php'中。 – 2012-10-17 16:36:20