Uso Laravel come framework PHP, sebbene la questione non riguardi esattamente laravel, più riguardo alla strutturazione dei metodi del controller.
Ho un percorso per la pagina degli ordini. A seconda del ruolo dell'utente, ho bisogno di includere viste diverse e ho una logica diversa per ogni ruolo. Sembra così:
public function index()
{
switch ($this->user->role->name) {
case 'admin': {
// Some code
break;
}
case 'customer': {
// Some code
break;
}
case 'manager': {
// Some code
break;
}
}
}
Ripeto questo modello per tutti i percorsi accessibili per molti ruoli. So che usare ripetutamente if
/ else
, switch
o questo genere di cose non è la soluzione migliore. Anche la funzione diventa abbastanza grande (non molto, ma dipende dalla logica). Ovviamente posso suddividerlo in 3 sottofunzioni ( indexAdmin
, indexManager
, indexCustomer
) ma non sono ancora sicuro se è buono.
Qualcuno potrebbe spiegare come gestirlo, preferibilmente usando Laravel (io uso la versione 5 dev)?
Aggiornamento
Ecco il codice completo: link