我有很多包的路由规则我不想在我的主routing.yml中手动包含,所以我正在寻找一种方法来定义一个路由,然后根据参数转发到控制器在网址中。
在我的 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。