Константа — это идентификатор (имя) простого значения. Как следует из названия, это значение не может измениться во время выполнения скрипта (за исключением магических констант , которые на самом деле не являются константами). Константы чувствительны к регистру. По соглашению идентификаторы констант всегда пишутся в верхнем регистре.
Примечание :
До версии PHP 8.0.0 константы, определенные с помощью функции define() , могли быть нечувствительны к регистру.
Имя константы подчиняется тем же правилам, что и любая метка в PHP. Правильное имя константы начинается с буквы или знака подчеркивания, за которым следует любое количество букв, цифр или знаков подчеркивания. В качестве регулярного выражения это будет выглядеть так: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$
Можно определить define() с зарезервированными или даже недопустимыми именами, значение которых можно получить только с помощью функции define() . Однако делать это не рекомендуется.
Пример #1 Допустимые и недопустимые имена констант
<?php
// Valid constant names
define("FOO", "something");
define("FOO2", "something else");
define("FOO_BAR", "something more");
// Invalid constant names
define("2FOO", "something");
// This is valid, but should be avoided:
// PHP may one day provide a magical constant
// that will break your script
define("__FOO__", "something");
?>
Примечание . Для наших целей здесь используется буква az, AZ и символы ASCII от 128 до 255 (0x80-0xff).
Как и у superglobals , область действия константы глобальна. Доступ к константам возможен из любой точки скрипта независимо от области действия. Для получения дополнительной информации о области видимости прочитайте раздел руководства по области видимости переменных .
Примечание . Начиная с PHP 7.1.0, константа класса может объявлять видимость как защищенную или частную, что делает их доступными только в иерархической области видимости класса, в котором она определена.
0 комментариев