Ho rilevato una grande base di codice legacy. Ha un codice come questo:
if ($route == 'login' || $route == 'logout' || $route == 'forgot-password') {
return;
}
if ($loggedInUser == false && $currentRoute !== 'login') {
redirectTo('login', 'You need login');
return;
}
if ($loggedInUser) {
if ($loggedInUser['passwordChanged'] == false && $currentRoute !== 'change-password') {
redirectTo('change-password', 'You need change your password');
return;
}
if ($loggedInUser['profileUpdated'] == false && $currentRoute !== 'update-profile') {
redirectTo('update-profile');
return;
}
if ($loggedInUser['role'] !== 'admin') {
redirectTo('logout');
return;
}
}
Penso di poter rendere ogni condizione una funzione di chiusura. Mettili tutti in un array e loop su array ed esegui ciascuna funzione.
Mi chiedo se esiste un modo più elegante per eseguire questi controlli.