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

 
     
 

enum в PHP

samdark
164
    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
Просмотров: 356
     

Новости inPHP.org Новости inPHP.org
27.05.2010   Технические работы.
По техническим причинам возможны кратковременные перебои в работе сайта проекта в период с 27.05.2010 по 1.06.2010.
02.03.2010   Доступ участников к разработке тестирований.
В тестовом режиме запущен функционал, позволяющий участникам проекта разрабатывать собственные тестирования. Разработанные сообществом тестирования не имеют ограничений официальной аккредитации и в любое время доступны любому участнику.
19.02.2010   Введён общий рейтинг участника.
В рамках программы развития проекта введён параметр общего рейтинга участника. Соответствующие изменения внесены в правила проекта. Рейтинг - один из показателей, которые будут активно использоваться в готовящемся к запуску функционале. Первое из нововведений - доступ участников к системе разработки собственных тестирований и возможность неограниченного использования тестирований, разработанных сообществом, будет запущено в течение марта 2010 года.
 
Содействуют развитию Содействуют развитию
webdev
198
    webdev webdev
Константин
Специализации: 2
Участники проекта Участники проекта
aiken
120
    aiken aiken
Алексей
Специализации: 0
seocoder
20
    seocoder seocoder

Специализации: 0
arlevnar
20
    arlevnar arlevnar

Специализации: 0
michail1982
20
    michail1982 michail1982

Специализации: 0
fernus
20
    fernus fernus
Николай
Специализации: 0
 
Статистика проекта Статистика проекта
Всего пользователей: 3050
Из них аккредитовано: 1207
Были сегодня: 17

УровеньПользователи
7481,6%
62157%
51585,2%
41665,4%
32909,5%
2411,3%
12889,4%
отсутствует184360,4%