Синтаксис
Вы можете определить константу с помощью функции
define(). После того, как константа определена,
ее значение не может быть изменено или аннулировано.
Константы могут содержать только скалярные данные
(логического, целого,
плавающего и строкового типов).
Получить значение константы можно, указав ее имя. В отличие от переменных,
вам не потребуется предварять имя константы символом
$.
Также вы можете использовать функцию constant() для
получения значения константы, если вы формируете имя константы динамически.
Используйте функцию get_defined_constants() для получения списка
всех объявленных констант.
Замечание:
Константы и (глобальные) переменные находятся в разном пространстве имен.
Это означает, что, например, TRUE и
$TRUE являются совершенно разными вещами.
Если вы используете неопределенную константу, PHP предполагает, что
вы имеете ввиду само имя константы, как если бы вы указали переменную типа
строка (CONSTANT и "CONSTANT"). При этом будет сгенерирована
ошибка типа E_NOTICE.
Смотрите также главу руководства, которая разъясняет, почему
$foo[bar] - это неправильно
(конечно, если вы перед этим не объявили bar как константу с
помощью define()). Если вы просто хотите проверить,
определена ли константа, используйте функцию defined().
Различия между константами и переменными:
-
У констант нет приставки в виде знака доллара ($);
-
Константы можно определить только с помощью функции
define(), а не присваиванием значения;
-
Константы могут быть определены и доступны в любом месте без учета
области видимости;
-
Константы не могут быть определены или аннулированы после первоначального объявления; и
-
Константы могут иметь только скалярные значения.
Пример #1 Определение констант
<?php
define("CONSTANT", "Здравствуй, мир.");
echo CONSTANT; // выводит "Здравствуй, мир."
echo Constant; // выводит "Constant" и выводит предупреждениее.
?>