Магические константы

PHP включает несколько магических констант, значение которых изменяется в зависимости от контекста. Например, значение константы __LINE__ зависит от строки скрипта, на которой указали константу. PHP разрешает «магические» константы во время компиляции, в отличие от стандартных констант, которые PHP разрешает во время выполнения. Специальные константы нечувствительны к регистру, а их список приводит следующий параграф:

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