рый позволяет генерировать Web-содержимое «на лету». Операторы, предназна- ченные для обработки PHP-процессором, хранятся в отдельном файле или внедряются в HTML-код Web-страницы.
На рис. 10.1 показаны операции, выполняемые при загрузке и выводе на эк — ран PHP-страницы. При запросе PHP-страницы (т. е. страницы, расширение фай —
ла которой связано с PHP-процессором; как правило, это расширение. php) Web-браузером Web-сервер передает запрос PHP-процессору. Процессор, в свою
очередь, считывает документ, запрошенный браузером. При построчном прохож — дении процессора по файлу выполняются PHP-операторы, содержащиеся между начальным (или ) дескрипторами PHP-сценария. Про — цессор записывает результаты выполнения PHP-операторов и весь текст, находя — щийся вне дескрипторов PHP-сценария, на Web-страницу (виртуальную страницу
в памяти Web-сервера, которая, в конце концов, будет передана Web-браузеру).
За счет того, что после передачи Web-серверу запроса Web-браузера на загруз —
ку Web-страницы с РНР-кодом, PHP-процессор генерирует HTML-код Web-стра — ницы, вы получаете возможность генерировать страницы, содержащие HTML — код, специфический для используемого посетителем браузера, а также страницы,
содержимое которых зависит от конкретного посетителя или от времени суток.
1) Web-браузер передает Web-серверу HTTP-запрос на Web-страницу с РНР-кодом.
Другими словами, технология РНР дает возможность превратить Web-сайт из на — бора статических Web-страниц в выполняемое на сервере приложение, интерфейс которого представляет собой Web-страницы.
Предположим, например, что на Web-странице необходимо вывести текущее время. Если страница будет статической (использующей стандартный язык HTML), потребуется потратить целый рабочий день на обновление страницы (один раз в минуту), чтобы при просмотре страницы посетителем на ней отобража — лось текущее время. За счет использования оператора РНР, который динамически записывает текущее время на Web-страницу после запроса ее посетителем, вы заста — вите PHP-процессор автоматически обновлять время на странице. После получения запроса PHP-процессор на основе Web-страницы, содержащейся в файле, создает
страницу, в которой находятся не PHP-операторы (т. е. статическое содержимое),
и помещает в нее время, возвращаемое встроенной функцией РНР date() .
В то время как клиентские языки сценариев (например, JavaScript) выполня-
ются Web-браузером, РНР представляет собой серверный язык, т. е. РНР-сцена — рий, внедренный на Web-страницу, выполняется Web-сервером (а не Web-браузе —
ром). В техническом смысле РНР является межплатформенным серверным языком сценариев, что означает:
• Большинство PHP-кода может выполняться под управлением различных операционных систем, в частности, Linux, Mac OS, RISC OS, Unix и Windows, без необходимости внесения изменений на Web-сервере.
• PHP-операторы могут внедряться на Web-страницу совместно или отдельно
от HTML-, XHTML — и XML-дескрипторов, которые используются для оп — ределения страницы для Web-браузеров.
• При запросе Web-браузером страницы с внедренными РНР-операторами, Web-сервер передает запрос РНР-процессору. PHP-процессор находит зап — рошенный файл, заменяет операторы результатом их выполнения (если ре — зультат выполнения имеется) и передает полученную страницу Web- серверу. Web-сервер передает данные, полученные от РНР-процессора, Web-браузеру посетителя.