我使用注释来定义控制器中的路由,我有15个控制器。全部由/path1
,/path2
执行。如何在Symfony2的所有控制器中添加一些路由前缀?
有没有办法在所有这些控制器中,我可以通过/admin/path1
和/admin/path2
访问它们?
我不想通过更改每个文件来输入。
我可以从一个地方做到这一点吗?我的意思是整个捆绑应该通过/admin
然后他们各自的路径。
我使用注释来定义控制器中的路由,我有15个控制器。全部由/path1
,/path2
执行。如何在Symfony2的所有控制器中添加一些路由前缀?
有没有办法在所有这些控制器中,我可以通过/admin/path1
和/admin/path2
访问它们?
我不想通过更改每个文件来输入。
我可以从一个地方做到这一点吗?我的意思是整个捆绑应该通过/admin
然后他们各自的路径。
试试这个
# app/config/routing.yml
acme_hello:
resource: "@AcmeHelloBundle/Resources/config/routing.yml"
prefix: /admin
,或者使用注解
resource: "@AcmeHelloBundle/Controller"
type: annotation
prefix: /admin
只要定义注释为类(不适用于法)
/**
* @Route("/blog")
*/
使用此在routing.yml
:
Admin:
resource: "@AdminBundle/Controller"
type: annotation
prefix: /admin
如果你想前缀特定的控制器DevController例如和有类似:
myproject.com/dev/test
在控制器添加以下路由标注为例子:
/**
* @Route("/dev")
*/
class DevController extends Controller{
/**
* @Route("/test")
*/
public function testSavingAction(){
return new Response();
}
....
作者问了一个全球性的方式。 – 2012-07-25 07:11:13
这种方法适用于我,因为我希望它在某个控制器上,而不是整个包中。 – 2014-02-01 17:17:59