Все, что находится вне пары открывающегося и закрывающегося тегов, игнорируется интерпретатором PHP, у которого есть возможность обрабатывать файлы со смешанным содержимым. Это позволяет PHP-коду быть встроенным в документы HTML, к примеру, для создания шаблонов.
<p>Это будет проигнорировано PHP и отображено браузером.</p>
<?php echo 'А это будет обработано.'; ?>
<p>Это тоже будет проигнорировано PHP и отображено браузером.</p>
Использование структур с условиями
Пример #1 Продвинутое изолирование с использованием условий
<?php if ($expression == true): ?>
Это будет отображено, если выражение истинно.
<?php else: ?>
В ином случае будет отображено это.
<?php endif; ?>
При выводе больших блоков текста выход из режима синтаксического разбора PHP обычно более эффективен, чем отправка текста с помощью функций echo или print.
В PHP 5, существует до пяти различных пар тегов, которые могут быть использованы
для обозначения PHP-кода, в зависимости от того, как был сконфигурирован PHP.
Из них только две <?php ?>
и
<script language="php"> </script>
доступны всегда.
Также, начиная с PHP 5.4.0, третьей, доступной всегда, парой тегов является <?= ?>
.
Другими двумя являются короткие теги и теги в стиле ASP, которые могут быть включены или выключены в конфигурационном файле php.ini. Хотя короткие теги и теги в стиле ASP могут быть удобны, они не так переносимы, как длинные версии, и поэтому не рекомендуются.
Замечание:
Кроме того, если вы намереваетесь вставлять PHP-код в XML или XHTML, чтобы соответствовать XML стандартам, вам следует использовать форму <?php ?>.
В PHP 7 удалена поддержка тегов ASP и
<script language="php">
. Так что мы рекомендуем использовать только
<?php ?>
и <?= ?>
для максимальной
совместимости и переносимости.
Пример #2 Открывающие и закрывающие теги PHP
1. <?php echo 'если вы хотите хранить код PHP в документах XHTML или XML,
то используйте эти теги'; ?>
2. Вы можете использовать короткий 'echo'-тег чтобы <?= 'напечатать эту строку' ?>.
Он всегда разрешен начиная с PHP 5.4.0. Этот тег эквивалентен такому коду
<?php echo 'напечатать эту строку' ?>.
3. <? echo 'этот код с короткими тегами, но он будет работать только если '.
'включена опция "short_open_tag"'; ?>
4. <script language="php">
echo 'некоторые редакторы (например, FrontPage) не
любят инструкции обработки с этими тегами';
</script>
Поддержка такого синтаксиса удалена в PHP 7.0.0.
5. <% echo 'Также вы можете использовать теги в ASP стиле'; %>
Код с такими тегами <%= $variable; %> является сокращением от <% echo $variable; %>
Поддержка обоих этих синтаксисов удалена в PHP 7.0.0.
Короткие теги (третий пример) доступны, только когда они включены с помощью директивы short_open_tag в конфигурационном файле php.ini, либо если PHP был скомпилирован с опцией --enable-short-tags .
ASP-теги (пятый пример) доступны, только когда они включены с помощью директивы asp_tags в конфигурационном файле php.ini. В PHP 7.0.0 их поддержка удалена.
Замечание:
Следует избегать использования коротких тегов при разработке приложений или библиотек, предназначенных для распространения или размещения на PHP-серверах, не находящихся под вашим контролем, так как короткие теги могут не поддерживаться на целевом сервере. Для создания переносимого, совместимого кода, не используйте короткие теги.
Замечание:
В PHP 5.2 и более ранних версиях парсер не позволял файлам содержать только один открытый тег <?php. Это было разрешено, начиная с версии PHP 5.3 при наличии одного или более пробела после открывающего тега.
Замечание:
Начиная с PHP 5.4 короткий тег echo <?= всегда распознается и действует, несмотря на значение опции short_open_tag.