ProfiPHPProfiPHP
Категория: Полезное в PHP

Изолирование PHP кода от HTML

Интерпретатор PHP обрабатывает файлы со смешанным содержимым. Все содержимое вне пары открывающегося и закрывающегося тегов игнорируется, что позволяет PHP-коду быть встроенным в документы HTML.
<p>Данный текст будет проигнорирован интерпретаnором PHP</p>
<?php echo 'а этот нет'; ?>
Когда интерпретатор PHP встречает закрывающие теги ?>, он просто начинает без обработки выводить все последующие символы пока не встретит другой открывающий тег <?php. Исключением является случай из содержащимся внутри кода условного оператора, в котором интерпретатор определяет результат условия перед принятием решения что пропустить.
<?php if ( $color == 'red' ) { ?>
Это будет отображено, если выражение истинно.
<?php } ?>
В этом примере PHP пропустит блок, где условие не истинно, даже если он находятся вне пары открывающих и закрывающих тегов. Другими словами, PHP будет перепрыгивать через блоки, содержащиеся внутри условия, которое не соблюдается. Отправка больших текстов без помощи конструкций Echo или Print вне режима PHP происходит более эффективно.

Существует до пяти различных пар тегов в PHP 5, которые могут быть использованы для обозначения PHP-кода, в зависимости от того, как был сконфигурирован PHP. Из них только две <?php ?> и <script language="php"> </script> доступны всегда. Также, начиная с PHP 5.4.0, третьей, доступной всегда, парой тегов является <?= ?>.

Другими двумя являются короткие теги и теги в стиле ASP, которые могут быть включены или выключены в конфигурационном файле php.ini. Хотя короткие теги и теги в стиле ASP могут быть удобны, они не так переносимы, как длинные версии, и поэтому не рекомендуются.

В PHP 7 удалена поддержка тегов ASP и <script language="php">. Так что рекомендуется использовать только <?php ?> и <?= ?> для максимальной совместимости и переносимости.

Короткие теги <? ?> доступны, только когда они включены с помощью директивы Short_open_tag в конфигурационном файле php.ini, либо если PHP был скомпилирован с опцией --enable-short-tags.

ASP-теги <% %> доступны, только когда они включены с помощью директивы Asp_tags в конфигурационном файле php.ini. В PHP 7.0.0 их поддержка удалена.

Следует избегать использования коротких тегов при разработке приложений или библиотек, предназначенных для распространения или размещения на PHP-серверах, не находящихся под вашим контролем, так как короткие теги могут не поддерживаться на целевом сервере. Для создания переносимого, совместимого кода, не используйте короткие теги.

Начиная с PHP 5.4 короткий тег <?= всегда распознается и действует, несмотря на значение опции Short_open_tag.

Добавить комментарий

Имя:
Текст комментария: