Symfony2:捆绑路由可以命名空间吗?

时间:2012-07-08 22:04:13

标签: symfony routing namespaces twig

我有一个MagazineBundle,它的一个Twig模板中有path('portfolio'),它是另一个带有前缀的包的根。

# 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 }

但是如果我添加第三个捆绑包,可能是我已下载并安装的捆绑包,并且该捆绑包也恰好也有一个名为“portfolio”的路由,我是否必须重命名路由或者是否有办法命名它们?

我尝试使用两个匹配的路由名称进行的实验导致最后声明的一个覆盖第一个。

1 个答案:

答案 0 :(得分:2)

它没有内置到路由系统中。您必须使用bundle或其他名称空间手动为路由名称添加前缀。

FOSRestBundle具有路由前缀功能,但我不确定它是如何耦合的,或者它是否可以在没有所有捆绑其他功能的情况下轻松使用。

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