Слава Україні
Glory to Ukraine
Save the World
Жыве Беларусь
Live Belarus



Урок - Изолирование от HTML

Главная » Курсы » Курс PHP5, Начинающим. » Урок - Изолирование от HTML

Обучающий онлайн курс
PHP5, Начинающим.

Лицензия: Копирование запрещено.

Все, что находится вне пары открывающегося и закрывающегося PHP-тегов, игнорируется Интерпретатором PHP, у которого есть возможность обрабатывать файлы со смешанным содержимым. Это позволяет PHP-коду быть встроенным в документы HTML, к примеру, для создания шаблонов.

Пример 1: Вывод текста с использование Интерпертатора PHP и без использования Интерпретатора PHP.

<p>Этот текст будет проигнорирован Интерпретатором PHP и выдан в браузер.</p>
<?php echo 'Это текст будет обработан Интерперетатором PHP.'; ?>
<p>Этот текст, также будет проигнорирован Интерпретатором PHP и выдан в браузер.</p>

Когда интерпретатор PHP встречает закрывающие теги ?>, он просто начинает выводить все что найдет.

Пример 2: Вставка PHP-инструкций в HTML-файл.

<!DOCTYPE html> <html lang="ua"> <head>     <title><?php echo 'Червона рута.'; ?></title>     <meta charset="utf-8"> </head> <body>

    <h1><?php echo 'Червона рута.'; ?></h1>

    Слова и музыка <?php echo 'Владимир Ивасюк'; ?>. </body>

</html>

 

Важно: Символ перевода строки после закрывающего тега игнориуется Интерпретатором PHP.

 

Пока не встретит другой открывающий тег за исключением случая с содержащимся внутри кода условным оператором, в котором интерпретатор определяет результат условия перед принятием решения что пропустить. Ознакомьтесь со следующим примером.

Использование структур с условиями

Пример #1 Продвинутое изолирование с использованием условий

<?php if ($expression == true): ?>
  Это будет отображено, если выражение истинно.
<?php else: ?>
  В ином случае будет отображено это.
<?php endif; ?>

В этом примере PHP пропускает блоки, где условие не соблюдается. Даже несмотря на то, что они находятся вне пары открывающих/закрывающих тегов, PHP пропустит их в соответствии с условием, так как интерпретатор PHP будет перепрыгивать через блоки, содержащиеся внутри условия, которое не соблюдается.

При выводе больших блоков текста выход из режима синтаксического разбора PHP обычно более эффективен, чем отправка текста с помощью функций echo() или print().

Существует четыре набора тегов, которые могут быть использованы для обозначения PHP-кода. Из них только два <?php ?> и <script language="php"> </script>) всегда доступны. Другими двумя являются короткие теги и теги в стиле ASP, которые могут быть включены или выключены в конфигурационном файле php.ini. Хотя короткие теги и теги в стиле ASP могут быть удобны, они не так переносимы, как длинные версии, и поэтому не рекомендуются.

Замечание:

Кроме того, если вы намереваетесь вставлять PHP-код в XML или XHTML, чтобы соответствовать XML стандартам, ам следует использовать форму <?php ?>.

 

Пример #2 Открывающие и закрывающие теги PHP

1.  <?php echo 'если вы хотите работать с документами XHTML или XML, делайте так'?>

2.  <script language="php">
        
echo 'некоторые редакторы (например, FrontPage) не
              любят инструкции обработки'
;
    
</script>

3.  <? echo 'это простейшая инструкция обработки SGML'?>
    <?= выражение ?> Это синоним для "<? echo выражение ?>"

4.  <% echo 'Вы можете по выбору использовать теги в стиле ASP'; %>
    <%= $variable; # Это синоним для "<% echo . . ." %>

Несмотря на то, что теги указанные в первых двух примерах всегда доступны, наиболее широко используется (и рекомендуется) первый пример из этих двух.

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

Теги в стиле ASP (четвертый пример) доступны, только когда они включены с помощью директивы asp_tags в конфигурационном файле php.ini.

 

Замечание:

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

Замечание:

В PHP 5.2 и более ранних версиях парсер не позволял файлам содержать только один открытый тег <?php. Это было разрешено, начиная с версии PHP 5.3.

Замечание:

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