PHP - Типы констант
Константа - это имя или идентификатор простого значения. Постоянное значение не может измениться во время выполнения скрипта. По умолчанию константа чувствительна к регистру. По соглашению идентификаторы констант всегда записываются в верхнем регистре. Имя константы начинается с буквы или символа подчеркивания, за которым следует любое количество букв, цифр или символов подчеркивания. Если вы определили константу, ее нельзя изменить или определить.
Чтобы определить константу, вы должны использовать функцию define (), а чтобы получить значение константы, вам нужно просто указать ее имя. В отличие от переменных, вам не нужно иметь константу с символом $. Вы также можете использовать функцию constant () для чтения значения константы, если вы хотите получить имя константы динамически.
функция constant ()
Как указано в названии, эта функция вернет значение константы.
Это полезно, когда вы хотите получить значение константы, но не знаете ее имени, т.е. она хранится в переменной или возвращается функцией.
пример constant ()
<?php
define("MINSIZE", 50);
echo MINSIZE;
echo constant("MINSIZE"); // same thing as the previous line
?>
В константах могут содержаться только скалярные данные (логические, целые, с плавающей запятой и строковые).
Различия между константами и переменными:
Нет необходимости писать знак доллара ($) перед константой, где, как и в переменной, нужно писать знак доллара.
Константы не могут быть определены простым присваиванием, они могут быть определены только с помощью функции define ().
Константы могут быть определены и доступны где угодно, независимо от правил области видимости переменных.
После того, как константы установлены, их нельзя переопределить или не определить.
Допустимые и недопустимые имена констант
// Valid constant names
define("ONE", "first thing");
define("TWO2", "second thing");
define("THREE_3", "third thing");
define("__THREE__", "third value");
// Invalid constant names
define("2TWO", "second thing");
Константы PHP Magic
PHP предоставляет большое количество предопределенных констант для любого скрипта, который он запускает.
Есть пять магических констант, которые меняются в зависимости от того, где они используются. Например, значение __LINE__ зависит от строки, в которой оно используется в вашем скрипте. Эти специальные константы нечувствительны к регистру и следующие:
Несколько "волшебных" констант PHP приведены ниже -
Старший Нет | Имя и описание |
---|---|
1 | __LINE__ Текущий номер строки файла. |
2 | __FILE__ Полный путь и имя файла. Если используется внутри включения, возвращается имя включенного файла. Начиная с PHP 4.0.2,__FILE__ всегда содержит абсолютный путь, тогда как в более старых версиях он содержал относительный путь при некоторых обстоятельствах. |
3 | __FUNCTION__ Имя функции. (Добавлено в PHP 4.3.0) Начиная с PHP 5 эта константа возвращает имя функции в том виде, в каком оно было объявлено (с учетом регистра). В PHP 4 его значение всегда в нижнем регистре. |
4 | __CLASS__ Имя класса. (Добавлено в PHP 4.3.0) Начиная с PHP 5, эта константа возвращает имя класса в том виде, в котором оно было объявлено (с учетом регистра). В PHP 4 его значение всегда в нижнем регистре. |
5 | __METHOD__ Имя метода класса. (Добавлено в PHP 5.0.0) Имя метода возвращается в том виде, в котором оно было объявлено (с учетом регистра). |