В настоящее время я использую класс для управления доступом к определенным файлам на моем сайте.Класс работает отлично.Однако недавно мне сообщили, что мне нужно создать гораздо более детальную систему для одного конкретного раздела сайта.Первым делом я хотел использовать вложенные if-else-if для установки пары переменных.
$admin = new Admin();
if( $admin->user_access('can_view_g2')) {
$groupNum = $group2;
$adminGroup = true;
} else {
if( $admin->user_access('can_view_g3')) {
$groupNum = $group3;
$adminGroup = false;
} else {
if( $admin->user_access('can_view_g4')) {
$groupNum = $group4;
$adminGroup = true;
} else {
. . .
Теперь я хотел бы исключить несколько строк кода и создать более чистый оператор управления потоком.Я хотел бы использовать оператор switch для этого, но я не уверен, что это возможно, так как я обращаюсь к методам и свойствам класса.
switch ($admin->user_access($permission)) {
case 'can_view_g2':
$groupNum = $group2;
$adminGroup = true;
break;
case 'can_view_g3':
$groupNum = $group3;
$adminGroup = true;;
break;
case 'can_view_g4':
$groupNum = $group4;
$adminGroup = true;
. . .
То, что у меня есть выше, не работает,Кто-нибудь знает способ сделать это или, по крайней мере, более эффективный метод управления потоком?