我使用註釋來定義控制器中的路由,我有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