Php 如何向Symfony2中的所有控制器添加一些路由前缀?
我使用注释在控制器中定义路由,我有15个控制器。所有这些都由Php 如何向Symfony2中的所有控制器添加一些路由前缀?,php,symfony,Php,Symfony,我使用注释在控制器中定义路由,我有15个控制器。所有这些都由/path1,/path2执行 在所有这些控制器中,我是否可以通过/admin/path1和/admin/path2访问它们 我不想通过更改每个文件来输入 我可以在一个地方做吗?我的意思是,整个包应该通过/admin打开,然后通过它们各自的路径打开。只需为类定义注释(而不是方法) 试试这个 # app/config/routing.yml acme_hello: resource: "@AcmeHelloBundle/Resou
/path1
,/path2
执行
在所有这些控制器中,我是否可以通过/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
在
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();
}
....
作者要求提供一种全局方法。这种方法适合我,因为我希望它位于某个控制器上,而不是整个捆绑包上。
/**
* @Route("/dev")
*/
class DevController extends Controller{
/**
* @Route("/test")
*/
public function testSavingAction(){
return new Response();
}
....