- Содержание
- Синтаксис
- Предопределённые константы
Константа это идентификатор (имя) для простого значения. Как следует из
названия, это значение не может изменяться в процессе исполнения скрипта. ('Магические
константы' __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. Определение констант
<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // выводит "Hello world."
echo Constant; // выводит "Constant" и уведомление.
?> |
|
|