Новые книги

Простым и понятным языком рассказано, как скрыть свое местонахождение и IP-адрес, используя анонимные сети Tor и I2P, посетить заблокированные администратором сайты, защитить личную переписку от посторонних глаз, избавиться от спама, зашифровать программой TrueCrypt данные, хранящиеся на жестком диске и передающиеся по сети. Отдельное внимание уделено защите домашней сети от нежданных гостей, от соседей, использующих чужую беспроводную сеть, выбору антивируса и брандмауэра (на примере Comodo Internet Security). Показано, как защитить свою страничку в социальной сети, удалить файлы без возможности восстановления и многое другое.

Для широкого круга пользователей
Эрминия Ибарра, профессор с мировым именем, преподаватель INSEAD, бросает вызов общепринятому мнению о лидерстве. Согласно ее концепции «восприятия извне», чтобы научиться думать как лидер, вам необходимо начать действовать как лидер. При помощи практических инструментов из этой книги вы сможете стать лидером, которому доверяют, ради которого не боятся рисковать, которого уважают и которым восхищаются.

Создание Констант



Учебник РНР
НазадГлава 34. Создание Переменных Вперёд

Создание констант

Zend поддерживает создание правильных констант (в отличие от регулярных переменных). Доступ к константам выполняется без префикса обычного знака dollar ($), и они доступны во всех областях видимости. Примеры - TRUE и FALSE.

Для создания ваших собственных констант вы можете использовать макросы из Таблицы 9.13. Все эти макросы создают константу со специфицированным именем и значением.

Вы можете также специфицировать для каждой константы флаги:

  • CONST_CS - Имя этой константы рассматривается с учётом регистра.

  • CONST_PERSISTENT - Это существующая константа, и она не будет "забыта", если текущий процесс будет остановлен.

Для использования этих флагов скомбинируйте их путём использования двоичного OR:

// регистрируется новая константа типа "long"
REGISTER_LONG_CONSTANT("NEW_MEANINGFUL_CONSTANT", 324, CONST_CS | CONST_PERSISTENT);

Есть два типа макросов - REGISTER_*_CONSTANT и REGISTER_MAIN_*_CONSTANT. Первый тип создаёт константы, привязанные к текущему модулю. Эти константы выгружаются из таблицы символов, как только модуль, зарегистрировавший эти константы, выгружается из памяти. Второй тип создаёт константы, которые остаются в таблице символов независимо от модуля.

Рисунок 34-10. Таблица 9.13. Макросы для создания констант
МакросОписание

REGISTER_LONG_CONSTANT(name, value, flags)

REGISTER_MAIN_LONG_CONSTANT(name, value, flags)

Регистрирует новую константу типа long.

REGISTER_DOUBLE_CONSTANT(name, value, flags)

REGISTER_MAIN_DOUBLE_CONSTANT(name, value, flags)

Регистрирует новую константу типа double.

REGISTER_STRING_CONSTANT(name, value, flags)

REGISTER_MAIN_STRING_CONSTANT(name, value, flags)

Регистрирует новую константу типа string. Специфицированная строка обязана размещаться во внутренней памяти Zend.

REGISTER_STRINGL_CONSTANT(name, value, length, flags)

REGISTER_MAIN_STRINGL_CONSTANT(name, value, length, flags)

Регистрирует новую константу типа string. Длина строки устанавливается явно в length. Специфицированная строка обязана размещаться во внутренней памяти Zend.

Назад Оглавление Вперёд
Макросы для автоматического создания глобальных переменных Вверх Дублирование содержимого переменных: конструктор Copy