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