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

PMo*_*bed 5 routes symfony

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

/**
 * 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( );
}
Run Code Online (Sandbox Code Playgroud)

之所以我想给某些用户提供路由访问权限,但用户角色不同.

让我们说:

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

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

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

Sam*_*ane 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 }
Run Code Online (Sandbox Code Playgroud)