Четверг, 16.05.2024, 21:22
DigitalBox
Приветствую Вас Гость | RSS
Главная Пишем первый сценарий РНР Регистрация Вход
Меню сайта

Пишем первый сценарий РНР


За многие годы сложилась такая традиция, что первая созданная программа должна выводить строку Здравствуй, мир. Если вы изучали HTML, то вам, наверное, доводилось осуществлять эту процедуру и вы использовали примерно следующий код:
<html>
<headxtitle>HTML-nporpaммa</titlex/head>
<body>
<р>3дравствуй, мир!</р>
</body>
</html>

Если отобразить содержимое этого файла в браузере, получим очевидный результат: Здравствуй, мир!
Ваш первый сценарий на РНР будет выполнять абсолютно те же действия. Ниже приведен фрагмент кода, который содержит дескрипторы HTML и PHP-код и выводит в окне браузера строку Здравствуй, мир!
<html>
<headxtitle>Сценарий PHP</titlex/head>
<body>
‹?php
     echo "<р>3дравствуй, мир!</р>";
?›
</body>
</html>

Результат выполнения этого сценария будет таким же, как и результат вывода файла HTML. В приведенном выше примере фрагмент РНР состоит из следующих строк:
‹?php
     echo "<р>3дравствуй, мир!</р>"
?›

Между открывающим и закрывающим дескрипторами РНР содержится только один оператор echo, который выводит строку, заключенную в двойные кавычки (" "). Таким образом, в результате выполнения сценария браузеру будет передана следующая строка: <р>3дравствуй, мир!</р>
Если фрагмент PHP-кода заменить этой строкой, то получим обычный HTML-файл. При этом в обоих случаях результат будет один и тот же, точно так же, как и исходный код, обрабатываемый браузером (чтобы его увидеть в меню браузера, следует выбрать команду View->Source (Вид->Просмотр HTML-кода)).

Детальнее об операторах вывода

В сценарии, созданном в предыдущем разделе, для отображения информации использовался оператор вывода echo. Операторы вывода (output statement) встречаются практически во всех сценариях. Очень редко приходится создавать приложения, в которых ничего не выводится. Действительно, PHP-сценарий может выполнять любые действия незаметно для пользователя, например проверять наличие файла на жестком диске. Но если клиенту ничего не будет выведено, то в чем тогда смысл? Как пользователь узнает, найден файл или нет? А если найден, то где он в таком случае расположен? Соответственно, практически во всех сценариях используются операторы вывода.
Общий синтаксис оператора echo выглядит следующим образом:

echo элемент_вывода1, элемент_вывода2, элемент_выводаЗ, .....

При работе с этим оператором следует руководствоваться такими правилами:
  • Параметр элемент_вывода может быть числом (например, таким кан 1 или 250) либо текстовой строкой.
  • Текстовая строка должна быть заключена в одинарные или двойные кавычки.
  • Количество аргументов оператора echo может быть произвольным.
  • Аргументы оператора echo разделяются запятой (,) без использования пробелов.
  • Если необходимо добавить пробел при выводе различных значений, его следует добавить в строку вывода в качестве отдельного символа.

Ниже в таблице приведены некоторые примеры использования оператора echo.

Пример
Результат выполнения
echo 123;
echo "Здравствуй, мир!";
echo "Здравствуй,","мир!";
echo "Здравствуй,", " ","мир!";
echo Здравствуй, мир!;
echo ''Здравствуй, мир!';

123
3дра в с т вуй, мир!
Здравствуй,мир!
Здравствуй, мир!
Выдаст сообщение об ошибке, поскольку строка не заключена в кавычки
Здравствуй, мир!


Обработка операторов вывода РНР

В сценарии, выводящем строку Здравствуй, мир !, как и в большинстве других сценариев, операторы вывода используются для генерирования кода HTML, который отображается в браузере. В этом случае необходимо помнить о двух этапах, которые при этом выполняются:

  1. Интерпретатор РНР выполняет операторы РНР, перенаправляет результат работы Web-серверу, который, в свою очередь, отправляет их клиентскому браузеру. РНР никак не обрабатывает HTML-код, а только передает информацию, полученною в результате выполнения РНР-кода.
  2. Web-браузер интерпретирует полученную от интерпретатора РНР информацию как HTML-код и выводит ее на Web-странице. В отличие от РНР он обрабатывает только HTML-код и не "понимает" кода РНР. Таким образом, нужно позаботиться о том, чтобы Web-браузер корректно интерпретировал информацию, полученную в результате выполнения фрагмента кода на РНР.

В качестве примера рассмотрим оператор вывода echo, отображающий строку Здравствуй, мир!:

echo "<р>3дравствуй, мир!</р>";

Он выводит все, что находится в двойных кавычках (""). Обработка этого РНР-кода будет выполнена в два этапа:

  1. Результатом выполнения оператора echo будет следующая строка: <р>3дравствуй, мир!</р>. Поскольку интерпретатор РНР не понимает HTML-код, то дескрипторы <р> и </р> никак обработаны не будут, а будут восприниматься как символы текстовой строки.
  2. Получив строку, Web-браузер, в свою очередь, интерпретирует символы <р> и </р> как открывающий и закрывающий дескрипторы HTML для форматирования текста и выводит его в окне браузера соответствующим образом: Здравствуй, мир! При этом сами дескрипторы не отображаются. Для того чтобы увидеть, что именно было передано браузеру Web-сервером, можно отобразить исходный код HTML-страницы. Для приведенной страницы он будет иметь следующий вид: <р>3дравствуй, мир!</р>

Использование специальных символов в операторах вывода

Оператор echo специальным образом обрабатывает некоторые символы, которые существенно влияют на получаемый результат. Одним из них является символ перехода на новую строку \n. Рассмотрим следующий пример:

echo "<р>3дравствуй,\n мир!</р>"

Символ \n в операторе echo означает переход на новую строку, однако это не отображается в браузере. Для перехода к новой строке на Web-странице необходимо использовать внутри строки специальный дескриптор <br>. Рассмотрим следующий пример:

echo "<р>3дравствуй,<br> мир!</р>"

В этом случае в браузере будет выведено две строки.

В таблице ниже приводятся отличия результатов выполнения оператора echo на разных этапах: после его обработки интерпретатором РНР и в Web-браузере. Первый столбец содержит пример фрагмента кода с оператором echo. Во втором приводится результат его обработки интерпретатором РНР (т.е. то, что передается браузеру), а в третьем — результат, отображаемый в самом браузере.

Пример оператора echo
Результат обработки
интерпретатором РНР
Результат отображения
в браузере
echo "Здравствуй, мир!";
Здравствуй, мир!
Здравствуй, мир!
echo "Здравствуй,";
echo "мир!";
Здравствуй, мир
Здравствуй, мир
echo "Здравствуй,\nмир!";
Здравствуй,
мир!
Здравствуй, мир
echo "Здравствуй,<br>мир!";
Здравствуй,<Ьr>мир!
Здравствуй,
мир!
echo "Здравствуй,<br>\nмир!";
Здравствуй,<Ьг>
мир!
Здравствуй,
мир!

Обратите внимание на наличие пробела в результирующих выражениях. Так, в первом примере пробел содержится в текстовой строке, выводимой оператором echo. Следовательно, этот символ будет содержаться и после обработки интерпретатором РНР, и в браузере. Во втором случае выполняются два разных вызова оператора echo. Причем, поскольку ни одна из выводимых строк не содержит пробела, в результирующих выражениях он также отсутствует. В третьем примере при отображении текста в окне браузера будет выведен пробел, хотя в строке Здравствуй\nмир! его нет. Это связно с тем, что специальный символ \n никак не интерпретируется браузером (т.е. не осуществляется перевод на новую строку), а просто заменяется на пробел.
Свободно используйте символ перевода строки \n. В противном случае исходный HTML-код будет содержать очень длинные строки. Представим, например, что имеется форма, содержащая большое количество полей. Несмотря на то что она может иметь нормальный вид в окне браузера, ее HTML-код может быть размещен всего в нескольких строках. В общем-то, это не создает никаких проблем до тех пор, пока не понадобится поработать с кодом HTML самой Web-страницы. В этом случае придется серьезно попотеть, отыскивая ошибку в многокилометровых строках кода. Поэтому использование символа \n позволит привести HTML-код к более удобному для анализа виду. Кроме того, некоторые браузеры могут некорректно обрабатывать длинные строки.
РНР выводит в точности то, что ему указывают. Интерпретатору РНР не важно, где впоследствии будет отображаться информация— в окне браузера или просто на экране. Прежде всего, это ваша забота. Если разрабатывается приложение для Web, то выводимые строки должны содержать дескрипторы HTML. Если же язык РНР используется для написания сценария, независимого от Web, в этом случае информацию лучше выводить в виде обычного текста.

Форма входа

Мини-чат

Календарь новостей
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

Поиск

Друзья сайта
Скажи сайту спасибо
ЯндексЯндекс. ДеньгиХочу такую же кнопку



Получить WMR-бонус на свой кошелек!

Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0

Copyright MyCorp © 2024 Бесплатный конструктор сайтов - uCoz