Symfony2,是否可以在控制器中为一个动作设置两个路径?

时间:2012-06-20 20:11:31

标签: symfony routes

我的控制器类中有一个动作,我想要两个不同的路径,如下所示:

/**
 * Displays a form to create a new entity.
 *
 * @Route("/edit/choose/date", name="user_choose_date")
 * @Route("/supervisory/choose/date", name="sup_choose_date")
 * @Template()
 */
public function chooseDateAction()
{
    return array( );
}

我想给某些用户提供路由访问但是用户角色不同的原因。

让我们说:

具有supervisor角色的用户可以访问sup_choose_date

具有user角色的用户可以访问user_choose_date

问题是,是否可以为一个动作设置两个不同的路线?或者我复制了不同路线的代码?

3 个答案:

答案 0 :(得分:7)

是的,可以在使用YAML(或XML)路由时使用。

示例:

sup_choose_date:
    pattern:   /supervisory/choose/date
    defaults:  { _controller: MyBundle:Default:chooseDate }

user_choose_date:
    pattern:   /edit/choose/date
    defaults:  { _controller: MyBundle:Default:chooseDate }

答案 1 :(得分:2)

我可以使用各种格式,包括注释。只要每条路线都有不同的名称,它就应该有效。

答案 2 :(得分:0)

为我工作!

您必须设置其他名称;如果没有,请明确指定

enter image description here