【发布时间】:2013-06-18 13:44:35
【问题描述】:
我有很多捆绑包,我不想手动将其路由规则包含在我的主 routing.yml 中,因此我正在寻找一种方法来定义路由,然后根据具体情况转发到控制器在url中的参数上。
在我的 routing.yml 中有这样的东西:
foo_main:
path: /foo/{bundle}/{action}
defaults: { _controller: "Foo{bundle}Bundle:Api:{action}" }
它的行为应该是这样的:
/foo/acme/index -> FooAcmeBundle:Api:indexAction/foo/bar/show -> FooBarBundle:Api:showAction
...
我已经看到有一个自定义路由提供程序可以自动注册新路由,如果上述方法不可行的话。但我想我必须为每个捆绑包添加一个自定义路由提供程序,如果每个捆绑包都以相同的方式注册其路由,这似乎是不必要的开销。
PS:我现在使用的是 Symfony 2.3.1。
【问题讨论】:
-
好吧,好像不可能,之前有人问过:Convention-based routing in Symfony2
-
其实有可能,请看我的回答——如果有不清楚的地方请评论:)
-
谢谢,其实确实有什么不清楚的地方 ;-)