1

我有一个 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”的路由,我是否必须重命名这些路由或者有没有办法给它们命名?

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

4

1 回答 1

2

它没有内置在路由系统中。您必须手动为您的路由名称加上 bundle 或其他命名空间的前缀。

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

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

于 2012-07-08T22:07:39.310 回答