Когда интерпретатор PHP просматривает файл, он ищет открывающиеся и закрывающиеся теги для того, чтобы знать какой код интерпретировать. Обработка документа таким способом позволяет PHP работать с различными типами документов, поскольку интерпретатор игнорирует все содержимое, находящееся за пределами специальных тегов. В большинстве случаев PHP-код внедряется в HTML-документ, как в примере:
Более расширенный пример:
Этот код работает, поскольку PHP встречая закрывающий тег ?> переходит в режим отображения содержимого до следующего открывающего тега <?php. Использование данной конструкции более эффективно, чем вызывать функции печати PHP echo() или print().
Существует четыре пары открывающий и закрывающих тегов, обрабатываемых PHP:
Первые два типа тегов являются часто используемыми и рекомендуются использовать именно их. Два других типа можно включить через файл настроек php.ini (опция short_open_tag для коротких тегов и опция asp_tags для ASP-тегов), однако, их использование снижает универсальность скрипта и их не рекомендуется использовать без особой необходимости.
Замечание. При встраивании PHP в XML или XHTML необходимо использовать только тервый тип тегов, т.е. <?php ... ?>.
В следующем примере покажем использование всех перечисленных типов тегов:
Замечание. Использование коротких тегов следует избегать, если вы разрабатываете библиотеки или приложения для распространения или пишите скрипты на заказ. Для переносимого кода короткие теги использовать не рекомундуется.
Замечание. В версии PHP до 5.2 нельзя было использовать откывающий тег <?php, если в файле кроме него больше ничего нет. Начиная с версии PHP 5.3 это ограничение было снято.