Новые книги

Успех компании зависит от выбора наиболее подходящей бизнес-модели. Предложенная в этой книге методология – отличное подспорье как для начинающих компаний, так и для тех, кто хочет перестроить свой бизнес и достигнуть новых высот. Авторы рассказывают о стратегии создания и внедрения инновационных бизнес-моделей, а также о важных этапах и препятствиях на этом пути. Основная часть книги – это 55 шаблонов бизнес-моделей, по которым строится бизнес наиболее успешных современных компаний. Вы найдете подробное описание бизнес-моделей, историю их развития и советы о том, в каких случаях стоит взять на вооружение именно этот шаблон.

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

Учебник РНР
НазадГлава 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