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