Введение в строки Heredoc

Когда вы помещаете переменные в строку с двойными кавычками, PHP автоматически подставляет их значения. Если строка содержит двойные кавычки, их нужно экранировать с помощью обратного слэша (\).
Пример с двойными кавычками:
Результат:
Строки heredoc ведут себя как строки с двойными кавычками, но без необходимости экранирования кавычек и с автоматическим подставлением переменных.
Пример с heredoc:

Синтаксис Heredoc

Синтаксис строки heredoc выглядит так:
Как это работает:
  1. Начинается с оператора <<<, затем идёт идентификатор и новая строка.
  2. Далее указывается сама строка, которая может занимать несколько строк и содержать любые кавычки.
  3. Строка завершается тем же идентификатором.
Правила для идентификатора:
  • Может содержать только буквы, цифры и подчёркивания.
  • Должен начинаться с буквы или подчёркивания.
  • Завершающий идентификатор должен стоять в начале строки, без отступов, и за ним может идти только точка с запятой (;).
  • Закрывающий идентификатор должен быть расположен отдельно на новой строке.
Пример ошибки:
Ошибка: Перед закрывающим идентификатором на новой строке есть символы табуляции.
Корректный пример:

Практическое применение Heredoc

heredoc удобно использовать для:
  • Определения строк с кавычками и переменными.
  • Генерации HTML-кода.

Пример генерации HTML:

Синтаксис Nowdoc

Строки nowdoc похожи на heredoc, но переменные в них не подставляются. Синтаксис отличается тем, что идентификатор после <<< заключается в одинарные кавычки.
Правила для идентификатора такие же, как у heredoc.

Итог

  • Heredoc - аналог строк с двойными кавычками, без необходимости экранирования.
  • Nowdoc - аналог строк с одинарными кавычками, без подстановки переменных.