2012-06-20 24 views
5

que tienen una acción dentro de mi clase del controlador y quiero dos rutas diferentes, como a continuación:Symfony2, ¿es posible tener dos rutas para una acción en un controlador?

/** 
* 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(); 
} 

La razón de que me gustaría dar la ruta de acceso a algunos usuarios, pero la función de usuario son diferentes.

Digamos:

usuario con supervisor papel pueden acceder sup_choose_date

usuario con user papel pueden acceder user_choose_date

La pregunta es si es posible tener dos rutas diferentes para una acción? o he duplicado el código para diferentes rutas?

Respuesta

7

Sí, es posible cuando se utiliza el enrutamiento YAML (o XML).

Ejemplo:

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

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

Podría hacer esto con la anotación también. Gracias. – PMoubed

2

que es posible en cualquier tipo de formato, incluidos anotación. Debería funcionar siempre que tenga un nombre diferente para cada ruta.

Cuestiones relacionadas