2012-07-25 62 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(); 
    } 
....