1.3. Интерфейсы с внешними системами
Язык PHP прежде всего славится своей возможностью работать с различными СУБД, но он также поддерживает работу с внешними системами. Эта поддержка представлена в виде модулей, которые называются расширениями (extension). Они компилируются или прямо в PHP, или подгружаются динамически. В проект PHP постоянно добавляются все новые и новые расширения. Эти расширения включают в себя группы функций, позволяющих использовать эти внешние системы. Как уже упоминалось, некоторыми из них являются СУБД. PHP обладает функциями, которые позволяют непосредственно работать с драйверами наиболее популярных СУБД, но он может работать и с драйверами ODBC. Другие расширения позволяют рассылать сообщения, пользуясь такими обычными сетевыми протоколами, как LDAP и IMAP. Эти функции детально описываются в части II. Так как разработчики PHP являются энтузиастами и славятся высокой производительностью, с того момента, как я написал эти строки, читатель сможет обнаружить еще больше расширений.
Система Pspell предназначена для проверки правописания. Есть расширение, которое поддерживает числа произвольной точности, другое расширение позволяет работать с различными системами летоисчисления, третье обеспечивает поддержку СУБД типа DBM. Можно использовать протоколы SNMP, IMAP и LDAP. Работа с базами данных Interbase и Informix поддерживается через собственные драйверы. То же самое можно сказать и об продуктах mSQL, MySQL, MS SQL, Sybase, Oracle и PostgreSQL. Можно анализировать пакеты XML или создавать WDDX. Можно даже выбирать полную метаинформацию о цифровых рисунках. Для этих целей предназначено расширение EXIF. На момент написания этой книги не было предусмотрено разве что автоматизированное приготовление кофе.
1.4. Как PHP работает с Web-сервером
Обычная процедура доставки Web-сервером Web-страницы на браузер выглядит следующим образом. Все начинается с того, что браузер делает запрос Web-страницы. На основании указателя URL браузер определяет адрес Web-сервера, идентифицирует нужную страницу и предоставляет любую необходимую Web-серверу информацию.
Часть информации содержит сведения о самом браузере: имя (Mozilla), его версия (4.08) или ОС (Linux). Другая часть информации, полученной Web-сервером, включает текст, который пользователь вводил в поля формы.
Если запрос производится из файла HTML, Web-сервер находит файл, задает браузеру режим ожидания некоего HTML-текста, а потом отсылает содержимое файла. Браузер получает содержимое и начинает процедуру отображения страницы на основании HTML-кода. Если у вас уже есть опыт программирования на HTML, это вам будет совершенно ясно.
Еще лучше, если у вас есть определенный опыт работы с CGI-сценариями. Когда Web-сервер получает запрос на CGI-страницу, ему будет недостаточно только отослать содержимое файла. Сначала он должен выполнить сценарий. Этот сценарий сгенерирует определенный HTML-код, который потом будет передан браузеру. Как видите, эта процедура достаточно далека от простой пересылки HTML-кода.
При запросе PHP-страницы она обрабатывается аналогично CGI-странице, по крайней мере в той части, что сценарий не отсылается просто на браузер. Она сначала передается PHP-интерпретатору, который передает Web-серверу текст HTML.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Введение в программирование в php. Часть Пятая.
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Введение в программирование в php. Часть Четвёртая. | Введение в программирование в php. Часть Шестая. |