2012-06-20 11 views
5

devo un'azione all'interno della mia classe controller e voglio due percorsi diversi, come di seguito:Symfony2, è possibile avere due percorsi per un'azione in un controller?

/** 
* 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 ragione di ciò vorrei dare l'accesso strada per alcuni utenti, ma il ruolo dell'utente sono diverse.

Diciamo:

utente con supervisor ruolo può accedere sup_choose_date

utente con user ruolo possono accedere user_choose_date

La domanda è se è possibile avere due percorsi differenti per un'azione? o ho duplicato il codice per percorsi diversi?

risposta

7

Sì, è possibile quando si utilizza il routing YAML (o XML).

Esempio:

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

Potrei farlo anche con l'annotazione. Grazie. – PMoubed

2

mi è possibile in ogni tipo di formato compreso annotazione. Dovrebbe funzionare a patto che tu abbia un nome diverso per ogni percorso.

Problemi correlati