Перейти к основному содержимому

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

В PHP есть девять особых предопределённых констант, известных как «магические константы», и их значение зависит от того, в каком месте кода вы их используете.

Они сообщают скрипту о нём самом и его окружении: в каком файле и каталоге он находится, какая строка выполняется, внутри какой функции или класса он находится и так далее.

Большинство из них можно узнать по двойным подчёркиваниям (__) на обоих концах имени. Единственное исключение — ClassName::class.

Регистр не имеет значения, поэтому __line__ даёт тот же результат, что и __LINE__.

Вот что даёт каждая из них:

  • __CLASS__ — имя класса, если используется внутри него.
  • __DIR__ — папка, в которой находится файл.
  • __FILE__ — имя файла с полным путём.
  • __FUNCTION__ — имя функции, если используется внутри неё.
  • __LINE__ — номер строки, в которой она находится.
  • __METHOD__ — в функции, принадлежащей классу, имя класса и имя функции вместе.
  • __NAMESPACE__ — имя пространства имён, если используется внутри него.
  • __TRAIT__ — имя трейта, если используется внутри него.
  • ClassName::class — имя указанного класса вместе с его пространством имён, если оно есть.