Выход из режима HTML-разметки
PHP-интерпретатор игнорирует всё, что разместили вне пары открывающего и закрывающего тегов,
что разрешает добавлять в файлы смешанное содержимое. Это разрешает встраивать PHP-код
в HTML-документы, чтобы, например, создавать шаблоны.
Это работает предсказуемо, поскольку когда PHP-интерпретатор встречает закрывающие теги ?>,
он просто начинает выводить всё, что находит, — за исключением перевода строки, который
идёт сразу за закрывающим тегом, как описывает раздел
«
Разделение инструкций», —
пока не встретит другой открывающий тег, если только закрывающий тег не встретился
в середине условной инструкции, тогда интерпретатор определяет результат
условия, прежде чем решить, что пропустить.
Следующий пример показывает это поведение.
Структуры с условиями.
Пример #1 Продвинутый выход из режима HTML-разметки с условиями
<?php if ($expression == true): ?>
Это отобразится, если выражение истинно.
<?php else: ?>
Иначе отобразится это.
<?php endif; ?>
В этом примере PHP пропустит блок, для которого условие не выполняется,
даже если блок указали за пределами открывающего и закрывающего тегов;
PHP пропустит блоки по условию, поскольку PHP-интерпретатор пропустит блоки
внутри условия, которое не выполняется.
Для вывода больших блоков текста выход из режима разбора PHP-кода
часто эффективнее отправки текста конструкциями
echo или print.
Замечание:
В XML- или XHTML-документы PHP-код встраивают внутри тегов <?php ?>
,
чтобы документы соответствовали стандартам.