|
|
|
|
|
|
enum в PHP |

164
|
|
samdark
Александр Макаров
Специализации: 0
|
|
|
Часто приходится иметь дело с определённым набором значений-параметров, которые можно передать какому-либо методу. Многие просто используют для этого строковые значения:
| 1 | class Rights {
| | 2 | function check($role, User $user) {
| | 3 | return $user->role == $role;
| | 4 | }
| | 5 | }
| | 6 |
| | 7 | Rights::check('adminisrator', $me); |
class Rights {
function check($role, User $user) {
return $user->role == $role;
}
}
Rights::check('adminisrator', $me);
Как видно из примера выше, ошибиться довольно легко, а вот ошибку найти будет довольно сложно.
Одно из возможных решений — завести псевдо-enum класс Roles:
| 1 | class Roles {
| | 2 | const ADMINISTATOR = 'administrator';
| | 3 | const USER = 'user';
| | 4 | }
| | 5 |
| | 6 | class Rights {
| | 7 | function check($role, User $user) {
| | 8 | return $user->role == $role;
| | 9 | }
| | 10 | } |
class Roles {
const ADMINISTATOR = 'administrator';
const USER = 'user';
}
class Rights {
function check($role, User $user) {
return $user->role == $role;
}
}
Теперь вызов метода будет выглядеть так:
| 1 | Rights::check(Roles::ADMINISTATOR, $me); |
Rights::check(Roles::ADMINISTATOR, $me);
|
|
|
|
|
|
 Новости inPHP.org
27.05.2010 Технические работы.
По техническим причинам возможны кратковременные перебои в работе сайта проекта в период с 27.05.2010 по 1.06.2010.
02.03.2010 Доступ участников к разработке тестирований.
В тестовом режиме запущен функционал, позволяющий участникам проекта разрабатывать
собственные тестирования. Разработанные сообществом тестирования не имеют ограничений официальной
аккредитации и в любое время доступны любому участнику.
19.02.2010 Введён общий рейтинг участника.
В рамках программы развития проекта введён параметр общего рейтинга участника.
Соответствующие изменения внесены в правила проекта. Рейтинг - один из показателей, которые будут активно
использоваться в готовящемся к запуску функционале. Первое из нововведений - доступ участников к системе
разработки собственных тестирований и возможность неограниченного использования тестирований, разработанных сообществом,
будет запущено в течение марта 2010 года.
|
 |
|
|
|
|
|
 Содействуют развитию

198
|
|
webdev
Константин
Специализации: 2
|
|
 Участники проекта
|
 |
|
|
|
|
|
 Статистика проекта
| Всего пользователей: | 3050 |
| Из них аккредитовано: | 1207 |
| Были сегодня: | 17 |
| Уровень | Пользователи | |
| 7 | 48 | 1,6% |
| 6 | 215 | 7% |
| 5 | 158 | 5,2% |
| 4 | 166 | 5,4% |
| 3 | 290 | 9,5% |
| 2 | 41 | 1,3% |
| 1 | 288 | 9,4% |
| отсутствует | 1843 | 60,4% |
|
 |
|
|
|
|
|
|
|
|
|