Константы
Глава 8. Константы
- Содержание
- Синтаксис
- Предопределённые константы
Константа это идентификатор (имя) для простого значения. Как следует из названия, это значение не может изменяться в процессе исполнения скрипта. ('Магические константы' __FILE__ и __LINE__ являются исключением из этого правила, но они в действительности не являются константами.) По умолчанию константа чувствительна к регистру символов. По соглашению идентификаторы констант вводятся в верхнем регистре.
Имя константы соблюдает те же правила, что и любая метка PHP. Правильное имя константы начинается с буквы (латинской) или символа подчёркивания, за которой\-ым может следовать любое количество букв, цифр или символов подчёркивания. Как регулярное выражение, константа должна выражаться так: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
Примечание: здесь, для наших потребностей, буква это a-z, A-Z и ASCII-символы от 127 до 255 (0x7f-0xff).
Область видимости константы является глобальной - вы можете получать к ней доступ в любой части скрипта, независимо от области видимости.
Синтаксис
Вы можете определить константу функцией define(). После того как константа определена, она не может быть изменена или разопределена/undefined.
Только скалярные данные (boolean, integer, float и string) могут содержаться в константах.
Вы можете получить значение константы, просто специфицировав её имя. В отличие от переменных, вы не должны вводить перед константой символ $. Вы можете также использовать функцию constant() для чтения значения константы, если вы получаете имя константы динамически. Используйте get_defined_constants() для получения списка всех определённых констант.
Примечание: константы и (глобальные) переменные находятся в разных пространствах имён. Это подразумевает, что, например, TRUE и $TRUE в общем случае различны.
Если вы используете неопределённую/undefined константу, PHP принимает, что вы обозначаете имя самой константы. Уведомление/notice будет выдано в этом случае. Используйте функцию defined(), если вы хотите знать, установлено ли значение константы.
Между константами и переменными имеются отличия:
Перед именем константы нет знака dollar ($);
Константы могут быть определены только через использование функции define(), но не простым присвоением;
Константы могут быть определены, и доступ к ним может быть получен, в любом месте, вне зависимости от правил области видимости переменных;
Константы не могут быть переопределены или разопределены после своего определения; и
Константы могут вычисляться только в скалярные значения.
Пример 8-1. Определение констант
|