
Кроме обычных констант, в PHP существует отдельная группа — **магические константы**. Их отличия заключаются в следующем:

* Магические константы невозможно определить самому, можно пользоваться только существующими.
* Магические константы начинаются и заканчиваются символами `__` (два подчёркивания).
* Магия заключается в том, что такие константы имеют одно и то же значение только в пределах определенной части программы.

Последний пункт может показаться странным. Какие же они константы, если их значение меняется? Прямо скажем, они не очень постоянные, но их изменения четко регламентированы и на практике не вызывают проблем. К подобным константам относятся, например, такие:

* `__LINE__` — содержит текущую строку файла, в котором она используется
* `__FILE__` — путь до текущего файла
* `__DIR__` — путь до директории, в которой находится текущий файл
