Магические константы
PHP предоставляет большой список предопределенных констант для каждого выполняемого скрипта. Многие из этих констант определяются различными модулями и будут присутствовать только в том случае, если эти модули доступны в результате динамической загрузки или в результате статической сборки.
Есть девять магических констант, которые меняют свое значение в
зависимости от контекста, в котором они используются.
Например, значение __LINE__
зависит от строки в скрипте,
на которой эта константа указана. Все магические константы разрешаются во
время компиляции, в отличие от обычных констант, которые разрешаются во
время выполнения. Специальные константы нечувствительны
к регистру и их список приведен ниже:
Имя | Описание |
---|---|
__LINE__ |
Текущий номер строки в файле. |
__FILE__ |
Полный путь и имя текущего файла с развернутыми симлинками. Если используется внутри подключаемого файла, то возвращается имя данного файла. |
__DIR__ |
Директория файла. Если используется внутри подключаемого файла,
то возвращается директория этого файла. Это эквивалентно вызову
dirname(__FILE__) . Возвращаемое имя директории
не оканчивается на слеш, за исключением корневой директории.
|
__FUNCTION__ |
Имя функции или {closure} в случае анонимной функции.
|
__CLASS__ |
Имя класса. Это имя содержит название пространства имен, в котором класс был объявлен
(например, Foo\Bar ).
При использовании в методах трейтов __CLASS__ является именем
класса, в котором эти методы используется.
|
__TRAIT__ |
Имя трейта. Это имя содержит название пространства имен, в котором трейт
был объявлен (например, Foo\Bar ).
|
__METHOD__ |
Имя метода класса. |
__NAMESPACE__ |
Имя текущего пространства имен. |
ClassName::class |
Полное имя класса. |