| Написание сценариев
Для написания полноценного сценария необходимо добавить несколько операторов в файл, который имеет расширение .php. Однако, если сценарий не так уж прост или если у вас нет опыта, будет разумным сначала написать код сценария на бумаге. Помните, что тщательное планирование позволит избежать многих ошибок при написании программного кода. При создании сценария РНР для Web-узла его программный код необходимо каким-то образом вставить в HTML-код Web-страницы. Если же сценарий создается независимо от Web, то операторы РНР помещаются в отдельный файл, который вызывается напрямую. В следующих разделах будет показано, как следует поступать в обоих случаях. Как сервер обрабатывает файлы РНР
Если пользователь обращается к обычному файлу HTML (с расширением.html или .htm), Web-сервер передает его код напрямую браузеру. Браузер, в свою очередь, обрабатывает полученный файл с дескрипторами HTML и выводит Web-страницу. Если же пользователь сгенерировал запрос к файлу РНР (с расширением . php), Web-сервер осуществляет обработку кода РНР (а не отправляет его сразу браузеру). При этом выполняются следующие шаги:
- Web-сервер просматривает исходный файл в режиме HTML, т.е. он никак не обрабатывает дескрипторы HTML, а отправляет их напрямую браузеру.
- Просмотр в режиме HTML выполняется до тех пор, пока не будет найден открывающий дескриптор РНР (‹?php).
- Найдя открывающий дескриптор ‹?php, Web-сервер переключается в режим РНР. Все, что находится после дескриптора ‹?php, интерпретируется Web-сервером как PHP-код и соответствующим образом
обрабатывается. Например, если в коде РНР содержится оператор вывода, то соответствующая информация передается браузеру. - Web-сервер продолжает работу в режиме РНР до тех пор, пока не встретит закрывающий дескриптор РНР (?›).
- Найдя закрывающий дескриптор ?›, Web-сервер снова переключается в режим HTML и продолжает выполнять действия, начиная с п. 1.
|
Вставка операторов РНР в HTML-кодПри использовании языка РНР для создания Web-узлов операторы РНР необходимо вставлять в HTML-код Web-страницы. При этом соответствующие файлы должны иметь расширение . php, чтобы Web сервер мог знать о наличии кода РНР. (Администратор Web-сервера может использовать и другие расширения файлов, которые могут содержать операторы РНР, например .php4 или .phtml. Однако расширение .php является наиболее популярным. Для вставки кода РНР в файл HTML используются дескрипторы, наподобие тех, что применяются в файлах HTML. Общий синтаксис имеет следующий вид:
‹?php ..... операторы РНР
..... ?› Можно также использовать сокращенную форму дескрипторов РНР , что позволяет немного сократить код. Для того чтобы активизировать или отключить использование сокращенных дескрипторов, следует внести соответствующие изменения в конфигурационный файл php.ini. Иногда использование сокращенных дескрипторов является не очень хорошей идеей. Действительно, если разместить Web-узел на сервере, который не поддерживает сокращенные дескрипторы, PHP-код будет обрабатываться некорректно, т.е. для переносимости кода лучше применять полные дескрипторы РНР. Все операторы, находящиеся между открывающим и закрывающим дескрипторами РНР, передаются Web-сервером на обработку интерпретатору РНР. После выполнения всех действий код РНР опускается, а результат передается обратно Web-серверу. Тот, в свою очередь, отправляет на сторону пользователя (т.е. браузеру) код HTML и результаты обработки сценария РНР. При этом код РНР в браузере не отображается. Например, добавим в файл HTML следующие строки кода РНР. При этом не забудьте сохранить этот файл с расширением .php: ‹?php echo "Это привет от РНР"; ?›
При получении Web-сервером запроса на файл с расширением . php он проверяет его на наличие дескрипторов РНР. Найдя открывающий дескриптор ‹?php, Web-сервер выполнит оператор echo, а не просто отправит его браузеру. Браузеру будет передан результат выполнения, а именно строка Это привет от РНР, которая и отобразится в его окне. Даже если просмотреть исходный код в браузере, в нем вы не увидите код РНР. Не пытайтесь просматривать файл РНР, используя браузер напрямую, т.е. для перемещения к файлу не надо выбирать в меню браузера команду File->Open->Browse (Файл->Открыть->Обзор). К файлу нужно обращаться через полный URL-адрес сценария РНР. На Web-страницу можно добавить несколько фрагментов PHP-кода. В качестве примера приведем следующий фрагмент: дескрипторы HTML ‹? echo "Это привет от РНР"; ?› дескрипторы HTML ‹? echo " Это тоже привет от РНР"; ?› В результате в окне браузера отобразятся две строки.
Использование РНР независимо от Web
РНР можно использовать в качестве самостоятельного языка написания сценариев, независимо от Web. Для этого в РНР предназначен специальный интерфейс CLI (Command Line Interface— интерфейс командной строки). Версия РНР CLI отлична от той, которая используется для работы с Web-серверами (обычно называемой РНР CGI), и устанавливается независимо.
Если вы намерены использовать интерфейс командной строки CLI для РНР, вы, скорее всего, работаете на компьютере под управлением операционной системы Unix или Linux. Программисты, работающие в Windows, вряд ли будут использовать РНР в качестве самостоятельного языка написания сценариев (хотя в случае необходимости это можно сделать).
| |