我有一个 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”的路由,我是否必须重命名这些路由,或者有没有办法命名它们?
我尝试使用两个匹配的路由名称进行的实验导致最后一个声明的路由覆盖了第一个。
最佳答案
它没有内置到路由系统中。您必须手动为您的路由名称添加包或其他一些命名空间的前缀。FOSRestBundle
具有路由前缀功能,但我不确定它是如何耦合的,或者它是否可以在没有所有捆绑其他功能的情况下轻松使用。
http://symfony.com/doc/master/bundles/FOSRestBundle/6-automatic-route-generation_multiple-restful-controllers.html#naming-collisions
关于Symfony2 : Can bundle routes be namespaced?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11387100/