---

name: Магические константы
theory: |

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

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

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

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

instructions: |

  Выведите на экран путь до текущей директории, используя магическую константу.

tips:
  - |
    [Магические константы](https://php.net/manual/ru/language.constants.predefined.php)

definitions:
  - name: Магическая константа
    description: специальная константа, доступная в PHP; содержит разное значение в разных контекстах.
