Магические константы PHP
В PHP есть девять особых предопределённых констант, известных как «магические константы», и их значение зависит от того, в каком месте кода вы их используете.
Они сообщают скрипту о нём самом и его окружении: в каком файле и каталоге он находится, какая строка выполняется, внутри какой функции или класса он находится и так далее.
Большинство из них можно узнать по двойным подчёркиваниям (__) на обоих концах имени. Единственное исключение — ClassName::class.
Регистр не имеет значения, поэтому __line__ даёт тот же результат, что и __LINE__.
Вот что даёт каждая из них:
__CLASS__— имя класса, если используется внутри него.__DIR__— папка, в которой находится файл.__FILE__— имя файла с полным путём.__FUNCTION__— имя функции, если используется внутри неё.__LINE__— номер строки, в которой она находится.__METHOD__— в функции, принадлежащей классу, имя класса и имя функции вместе.__NAMESPACE__— имя пространства имён, если используется внутри него.__TRAIT__— имя трейта, если используется внутри него.ClassName::class— имя указанного класса вместе с его пространством имён, если оно есть.