2012-07-25 29 views
8

我使用注释来定义控制器中的路由,我有15个控制器。全部由/path1,/path2执行。如何在Symfony2的所有控制器中添加一些路由前缀?

有没有办法在所有这些控制器中,我可以通过/admin/path1/admin/path2访问它们?

我不想通过更改每个文件来输入。

我可以从一个地方做到这一点吗?我的意思是整个捆绑应该通过/admin然后他们各自的路径。

回答

15

试试这个

# app/config/routing.yml 
acme_hello: 
    resource: "@AcmeHelloBundle/Resources/config/routing.yml" 
    prefix: /admin 

,或者使用注解

resource: "@AcmeHelloBundle/Controller" 
    type:  annotation 
    prefix: /admin 
6

使用此在routing.yml

Admin: 
    resource: "@AdminBundle/Controller" 
    type: annotation 
    prefix: /admin 
2

如果你想前缀特定的控制器DevController例如和有类似:

myproject.com/dev/test

在控制器

添加以下路由标注为例子:

/** 
* @Route("/dev") 
*/ 
class DevController extends Controller{ 

    /** 
    * @Route("/test") 
    */ 
    public function testSavingAction(){ 

     return new Response(); 
    } 
....