Разделы публикаций

 
     
 

enum в PHP

samdark
187
    samdark samdark
Александр Макаров
Специализации: 0

Часто приходится иметь дело с определённым набором значений-параметров, которые можно передать какому-либо методу. Многие просто используют для этого строковые значения:

class Rights {
     function check($roleUser $user) {
          return $user->role == $role;
     }
}

Rights::check('adminisrator'$me);



Как видно из примера выше, ошибиться довольно легко, а вот ошибку найти будет довольно сложно.

Одно из возможных решений — завести псевдо-enum класс Roles:

class Roles {
     const ADMINISTATOR 'administrator';
     const USER 'user';
}

class Rights {
     function check($roleUser $user) {
          return $user->role == $role;
     }
10 }


Теперь вызов метода будет выглядеть так:

Rights::check(Roles::ADMINISTATOR$me);


0
Просмотров: 961
     

Новости inPHP.org Новости inPHP.org
30.12.2011   С наступающим Новым Годом!
Команда inPHP.org поздравляет всех посетителей сайта проекта с наступающим Новым Годом! Вероятно, многие участники проекта заметили некоторое затишье в уходящем году. Поверьте, в следующем всё будет несколько иначе!
31.12.2010   С Новым Годом!
Уважаемые коллеги, коллектив проекта inphp.org искренне поздравляет вас с наступающим Новым Годом!
27.05.2010   Технические работы.
По техническим причинам возможны кратковременные перебои в работе сайта проекта в период с 27.05.2010 по 1.06.2010.
02.03.2010   Доступ участников к разработке тестирований.
В тестовом режиме запущен функционал, позволяющий участникам проекта разрабатывать собственные тестирования. Разработанные сообществом тестирования не имеют ограничений официальной аккредитации и в любое время доступны любому участнику.
 
Содействуют развитию Содействуют развитию
Участники проекта Участники проекта
manhunter
200
    manhunter manhunter
Дмитрий
Специализации: 3
chozenone
20
    chozenone chozenone

Специализации: 0
alkeeper
80
    alkeeper alkeeper
Александр Александров
Специализации: 0
xtaboo
60
    xtaboo xtaboo
Андрей Копылов
Специализации: 0
ploideco
80
    ploideco ploideco

Специализации: 0
 
Статистика проекта Статистика проекта
Всего пользователей: 3648
Из них аккредитовано: 1468
Были сегодня: 2

УровеньПользователи
7742%
62376,5%
52075,7%
41945,3%
336510%
2401,1%
13509,6%
отсутствует218059,8%