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. Кстати, такая возможность существует и для коротких тегов (<?...?>).



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