enum в PHP
Часто приходится иметь дело с определённым набором значений-параметров, которые можно передать какому-либо методу. Многие просто используют для этого строковые значения:
class Rights {
function check($role, User $user) {
return $user->role == $role;
}
}
Rights::check('adminisrator', $me);
Как видно из примера выше, ошибиться довольно легко, а вот ошибку найти будет довольно сложно.
Одно из возможных решений — завести псевдо-enum класс Roles:
class Roles {
const ADMINISTATOR = 'administrator';
const USER = 'user';
}
class Rights {
function check($role, User $user) {
return $user->role == $role;
}
}
Теперь вызов метода будет выглядеть так:
Rights::check(Roles::ADMINISTATOR, $me);
Комментарии:
Нету комментариев для вывода...