Программирование с нуля - это совсем просто! 95) Смешивание кода HTML и PHP
Школа программирования
95) Смешивание кода HTML и PHP
Сегодня - продолжение курса по PHP. Последний выпуск о PHP был в N 92.
Условный оператор
Синтаксис условного оператора в PHP, как и других операторов этого языка, совпадает с записью, принятой в Си/Си++.
Условный оператор начинается с ключевого слова if, за которым в круглых скобках следует условие, после чего в фигурных скобках следует группа операторов, выполняемая, если значение условия истинно.
Вторую часть условного оператора, начинающуюся с ключевого слова else (она выполняется, если условие ложно), можно опускать.
if( a > b ) {
print "<b> a больше b! </b>";
} else {
print "<b> a меньше или равно b! </b>";
}
Комментарии
Комментарии в программе на PHP записываются, как и в Си, с помощью двух наклонных черт //, вся информация за которыми до конца строки считается комментариями и игнорируется.
$x = 5; // это комментарий
Если надо выделить комментариями несколько строчек, можно воспользоваться парой условных скобок /* и */ :
/*
Комментарий в
несколько строк. */
Смешивание кода HTML и PHP
Так как сценарии на PHP обычно исполняются на сервере интерпретирующей системой PHP (команды сценария выполняются по мере их нахождения в реальном времени - в отличие от компиляторов, которые сразу преобразуют весь исходный программы в готовое приложение), использовать их удается очень гибко. В частности, PHP-сценарий может управлять включением в результирующую страницу блоков HTML-кода, которые непосредственно не входят в текст исполняемого сценария.
Например, если от формы получено ненулевое значение, то надо выдать большой раздел исходной HTML-страницы, в противном случае выводится другой раздел. Если обходиться только возможностями PHP, то такая программа (вместе с формой) выглядела бы так:
В случае, когда вместо первого и второго текстов надо вывести много HTML-кода, каждую его строчку выделять с помощью команды print и брать в кавычки достаточно трудоемко. Поэтому лучше воспользоваться возможностью PHP, позволяющей разбивать исходный сценарий на несколько мелких - они будут выполняться последовательно, по мере их достижения, но результаты различных действий будут иметь эффект, даже когда сам PHP-сценарий уже формально завершен (закрыт с помощью "?>").
Наш пример можно переписать следующим образом:
<html>
<body><h1> PHP-скрипт </h1>
<?php
if( $_POST["myval"] == 0 ) {
?>
<p>Первый текст.<p>
Здесь продолжается HTML-код, который должен быть включен в
результирующий файл, отсылаемый браузеру, только если значение
переменной myval равно нулю. Данный текст находится <b>вне</b>
PHP-сценария!
<?php
// снова продолжаем сценарий
// "прерванный" условный оператор действует, как и раньше:
} else {
?>
<p>Второй текст.<p>
Включается, только если myval не равна нулю.
<?php
// закрывающую фигурную скобку условного оператора все равно
необходимо сохранить для соблюдения корректности PHP-кода.
}
?>
</body></html>
Обратите внимание - хотя в некоторых местах сценарий завершается, это не означает, что следующий за ним HTML-код будет обязательно включен в результирующую страницу. Фактически весь PHP-файл со сценарием правильнее рассматривать как единый скрипт, независимо от наличия промежуточных тегов, закрывающих и вновь открывающих PHP-код.
То есть общая идея данного приема такова - если в некотором месте PHP-сценария удобнее перейти к HTML-коду, то сценарий "временно" закрывается. Но логика его выполнения не меняется!