PHP :: Вставка php-кода в html-документ
PHP тесно связан с HTML, поэтому очень часто приходится использовать не чистые php-скрипты, а смесь со вставками php-кода в html-документ. С другой стороны PHP выполняется на сервере и способен сам генерировать html-страницы, которые он и отсылает клиенту.
Для того, чтобы интерпретатор PHP мог понять, что он имеет дело именно с php-кодом, а не с тегами HTML или кодом другого языка, применяются специальные теги <?php и ?>, которые указывают ему где начинается и заканчивается непосредственно код PHP. В примере №1 показан простой файл, представляющий собой смесь из HTML и PHP.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Первый php-скрипт</title> </head> <body> <?php /* Оператор echo выводит строки, перечисляемые через запятую, в код html-документа */ echo 'Эта строка будет сперва обработана интерпретатором PHP <br> и только потом отдана по запросу серверу для дальнейшей <br> отправки браузеру клиента.'; ?> <p> А эта строка не будет обработана PHP, <br> т.к. она находится вне тегов <?php и >. Она будет <br> отдана по запросу серверу, а затем и браузеру клиента без <br> обработки в первоначальном виде. </p> </body> </html>
Пример №1. Вставка кода PHP в html-документ
Таким образом, в большинстве случаев все, что находится вне указанных открывающего и закрывающего тегов, будет проигнорировано интерпретатором PHP и отдано по запросу без изменения за исключением случая, когда внутри php-кода используется условный оператор, который определяет, что следует пропустить, а что нет. Так в примере №2, интерпретатор PHP пропустит блок html-кода, который не соответствует условию оператора if (будет рассмотрен позже).
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Введение в PHP</title> </head> <body> <?php //присвоили переменной значение $a=5; //разрываем код PHP if($a==5){ ?> <p> Эта часть кода html-страницы будет выдана по запросу<br> без изменения, т.к. условие истинно. </p> <?php //эта часть выполнится только, если $a не равно 5 }else{ ?> <p> А вот этот абзац не будет показан, т.к. $a==5 (равно). </p> <?php } //оператор if и другие будут рассмотрены позже ?> </body> </html>
Пример №2. Еще один вариант вставки кода PHP в html-документ
Из примера хорошо видно, что php-код может встречаться в одном и том же html-файле более одного раза. При этом, он может идти вперемешку с html-кодом практически в произвольном порядке. Также следует обратить внимание на то, что после окончания разбора php-кода, перед отправкой готовой html-страницы пользователю, интерпретатор вставляет на место, где располагался исходный php-код, необходимую для отображения информацию, а сам php-код удаляет. В итоге клиенту будет отправлена чистая html-страница без вставок php-кода и, при соответствующей настройке сервера, пользователь даже в случае просмотра исходного кода страницы в браузере не сможет узнать, получил ли он обычный html-документ или же результат выполнения php-скрипта.
Обычно файлы, содержащие php-код, сохраняют с расширением .php или аналогичным. По умолчанию интерпретатор PHP анализирует именно такие файлы. Поэтому, если html-страница содержит вставки php-кода, следует сохранять ее с расширением .php, иначе в случае отсутствия дополнительной настройки сервера, интерпретатор не будет искать и выполнять php-код на таких страницах. Однако бояться этого не стоит, т.к. браузером такая php-страница будет отображена точно также, как и обычная html-страница, с той лишь разницей, что в адресной строке браузера или при сохранении страницы пользователь будет видеть расширение .php. Если же необходимо скрыть от пользователя воздействие php-скриптов на страницу, можно в настройках сервера указать дополнительные типы файлов, в которых интерпретатор должен искать php-код (данный вопрос мы рассмотрим позже). После внесения таких изменений в настройках сервера интернет-страницы можно будет смело сохранять с расширением .html, что окончательно скроет от пользователя какое-либо воздействие PHP на страницу.
Добавим, что всего существует четыре набора тегов для обозначения php-кода: <?php и ?>, <script language="php"> и </script>, которые доступны всегда, а также короткие теги <? и ?>, <% и %>, которые доступны, только если они включены с помощью соответствующих директив в конфигурационном файле php.ini, или PHP был скомпилирован с опцией --enable-short-tags. Мы всегда будем использовать первую пару тегов, тем более, что в HTML 5 атрибут language считается устаревшим.
Если файл содержит только php-код, разрешается опускать закрывающий тег в конце файла, что иногда бывает очень полезным, т.к. позволяет избежать случайных символов пробелов или переводов строк после закрывающего тега.
Быстрый переход к другим страницам
- Установка PHP и локальный сервер XAMPP
- Вставка php-кода в html-документ
- Синтаксис PHP
- Вернуться к оглавлению учебника