Встраивание управляющих структур

Теперь, когда вы ознакомились с основными управляющими структурами РНР, наступило время обсудить, как эти управляющие структуры могут быть использованы наиболее эффективно для генерации HTML-дескрипторов (или любого другого вывода). Как вам уже известно, РНР — это встроенный язык, который позволяет кодировать HTML-дескрипторы и поддерживать сценарии в одном и том же документе. Однако РНР развивает эту концепцию дальше, позволяя вам ‘”отключить” РНР-интерпретатор внутри управляющей структуры и встроить не-РНР вывод без потери логического контекста управляющей конструкции.
Давайте рассмотрим пример, в котором предпринимается попытка отобразить картинку в HTML-доку менте в случае, когда значение переменной Sdisplay установлено в true. Для начинающего наиболее общее решение выглядит так:

if (Sdisplay) {
echo ““;
}

Хотя это решение и вполне работоспособно, очевидно, что оно недостаточно изящно. Чтобы исправить положение, существует альтернативный синтаксис управляющих структур РНР, который позволяет вам выйти из интерпретатора РНР и пере-Использование РНР для разработки Web-приложений_
_I часты
дать вывод непосредственно “сквозь” РНР. Для данного оператора if этот синтаксис выглядит так:
... if (условие):
Текст, который должен быть отправлен на выход, но не должен интерпретироваться РНР endif;
В случае предыдущего примера этот синтаксис может быть применен таким образом, чтобы дать тот же результат:
if(Sdisplay):

endif; 7>
Этот альтернативный синтаксис допустим для каждой управляющей структуры РНР. Вместо фигурной скобки (() указывается двоеточие (:) для обозначения начала управляющей структуры, и каждая из управляющих структур завершается соответствующим предложением (endif, endwhile. endfor и так далее). В основном этот альтернативный синтаксис применяется, когда вы хотите отобразить не интерпретируемый PHP-код, однако он может использоваться в любом месте внутри РНР-сцеиария. К тому же, этот синтаксис не обязателен для предотвращения интерпретации отдельного сегмента в документе. Следующий вариант также вполне приемлем, хотя и может несколько озадачить:
if(Sdisplay) j

)
Следует отметить, что отключение интерпретатора РНР не ограничивается управляющими структурами. В любой точке внутри сценария интерпретатор может быть отключен с применением допустимого дескриптора закрытия РНР и включен обратно с помощью допустимого дескриптора открытия РНР (описание допустимых дескрипторов было представлено ранее в этой главе).

Tags: , ,

Related posts


Leave a Reply


итальянские кухни