PHP 4 на практике

       

Переход в РНР


Механизм лексического анализа должен как-то отличать код РНР от других элементов страницы. Идентификация кода РНР называется «переходом в РНР» (escaping to РНР). Существуют четыре варианта оформления перехода в РНР:

  • стандартные теги;

  • короткие теги;

  • теги script;

  • теги в стиле ASP.

    Стандартные теги

    Стандартные теги используются программистами РНР чаще остальных способов, что объясняется наглядностью и удобством этой формы записи:

    <?php print "Welcome to the world of PHP!": ?>



    У стандартных тегов есть еще одно дополнительное преимущество: за открывающей конструкцией <? следуют символы php, однозначно определяющие тип дальнейшего кода. Это удобно при использовании в одной странице нескольких технологий — таких, как JavaScript, серверные включения и РНР. Весь текст, расположенный до закрывающего тега ?>, интерпретируется как код РНР.

    Короткие теги

    Короткие теги обеспечивают наиболее компактную запись для перехода в РНР:

    <? print "Welcome to the world of PHP!"; ?>

    По умолчанию короткие теги не используются, их нужно специально активизировать. Это можно сделать двумя способами:

    • указать ключ -enable-short-tags при компиляции РНР;
    • включить параметр short_open_tag в файл php.ini.
    • Теги script

      Некоторые текстовые редакторы ошибочно принимают код РНР за код HTML (то есть визуально отображаемый текст), что нарушает работу над web-страницей. Проблема решается использованием тегов script:

      <script language="php">

      <?php print "Welcome to the world of PHP!"; ?>

      </script>

      Теги в стиле ASP

      Четвертый и последний способ оформления внедренного кода РНР — теги в стиле ASP (Active Server Page). Они похожи на короткие теги, описанные выше, однако вместо вопросительного знака используется знак процента (%):

      <%php print "Welcome to the world of PHP!"; %>

      У тегов в стиле ASP есть одна особенность, делающая запись более компактной. Во внедренный код РНР не обязательно включать команду print — знак равенства (=), расположенный сразу же после открывающего тега в стиле ASP, приказывает лексическому механизму РНР вывести значение указанной переменной:

      <%=$variable %>

      Этот удобный стиль позволяет использовать в страницах фрагменты вида

      <%

      // Присвоить значение переменной $recipe

      $recipe = "Lasagna":

      %>

      Luigi's favorite recipe is <%=$recipe;%>

      Этот фрагмент содержит два разных сценария РНР. В первом сценарии переменной $recipe присваивается значение "Lasagna". Позднее, когда потребуется вывести значение $гесiре, специально для этой цели используются теги в стиле ASP. Кстати, такая возможность существует и для коротких тегов (<?...?>).



      Содержание раздела