Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何向Symfony2中的所有控制器添加一些路由前缀?_Php_Symfony - Fatal编程技术网

Php 如何向Symfony2中的所有控制器添加一些路由前缀?

Php 如何向Symfony2中的所有控制器添加一些路由前缀?,php,symfony,Php,Symfony,我使用注释在控制器中定义路由,我有15个控制器。所有这些都由/path1,/path2执行 在所有这些控制器中,我是否可以通过/admin/path1和/admin/path2访问它们 我不想通过更改每个文件来输入 我可以在一个地方做吗?我的意思是,整个包应该通过/admin打开,然后通过它们各自的路径打开。只需为类定义注释(而不是方法) 试试这个 # app/config/routing.yml acme_hello: resource: "@AcmeHelloBundle/Resou

我使用注释在控制器中定义路由,我有15个控制器。所有这些都由
/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();
    }
....