Единственное богатство, которое всегда есть в избытке у разработчиков Web-приложений - это богатство выбора. Широкое распространение открытых языков программирования и средств разработки свидетельствует о том, что альтернативные способы создания прикладных программ существовали всегда. Таким образом, поклонники Perl всегда будут использовать интерфейс Perl DBI для построения своих приложений, работающих с MySQL. Начинающие разработчики могут предпочесть стиль Hypertext PreProcessor (PHP), языка программирования, который работает уже более чем на 10 млн. инсталляций по всему миру и де-факто становится стандартом Web-разработок.
Если вы еще не знаете, что такое PHP, - это язык написания сценариев, позволяющий включать свои команды в HTML-код Web-страниц, а значит, включать достаточно гибкую логическую обработку в обычно статические Web-страницы. Таким образом, этот язык быстро становится популярным способом разработки приложений, работающих с данными, т.к. он широко поддерживает различные системы баз данных, включая, конечно, и СУБД MySQL.
Кроме подробного описания использования MySQL API-интерфейса языка PHP для обслуживания соединений с базами данных, обработки результатов запросов и ошибок, эта глава также содержит достаточное количество примеров и сценариев, позволяющих познакомиться с основами программирования на языке PHP и приступить к разработке своих собственных Web-приложений с его помощью.
PHP: история и эволюция
Язык написания сценариев был разработан Расмусом Лердорфом (Rasmus Lerdorf) как средство управления просмотром его собственного резюме на Web-странице. Он впервые появился как PHP/FI в середине 1995 года. Эта версия PHP имела поддержку некоторых основных функций, предназначенных для работы с Web-страницами. Прежде всего, это возможность обработки данных в формах и поддержки базы данных mSQL.
По мере роста популярности PHP, разработка языка перешла от Лердорфа к команде опытных программистов, взявших на себя ответственность за полную переделку синтаксического анализатора PHP. В результате была получена версия PHP 3.0, включавшая уже более широкий диапазон баз данных, в том числе MySQL и Oracle. Выпущенная в 2003 году, версия PHP 4.0 уже имела усовершенствованное ядро, которое обеспечивало улучшенную производительность, надежность и масштабируемость, поддержку Web-серверов, отличных от Apache, и новые возможности, включая поддержку сеансов и усовершенствованную поддержку объектно-ориентированного программирования.
Сегодня PHP используется более чем на 10 млн. Web-узлах, и по данным обзора Web-узла Netcraft (http://www.netcraft.com), это число продолжает быстро увеличиваться. Этот язык поддерживается тысячами разработчиков и энтузиастов во всем мире и постоянно совершенствуется, приобретая новые модули и возможности. Он прост в использовании, достаточно мощный, гибкий и надежный.
Инсталляция
На официальном Web-узле http://www.php.net PHP доступен как для *NIX-платформ, так и для Windows-платформ, как в исходном, так и в двоичном формате. Пользователи *NIX имеют возможность непосредственной компиляции PHP в составе Web-серверов или активизации их в виде дополнительных модулей Web-сервера. Пользователи Windows не имеют такого широкого выбора. Они могут получить только предварительно созданный программный код, который необходимо сконфигурировать для работы с их Web-сервером.
Подробное описание процесса инсталляции PHP выходит за рамки этой книги. Если вы не знакомы с PHP, изучите полную документацию, представленную на Web-узле PHP. Там же можно найти файлы INSTALL и README, включенные в дистрибутив PHP. В случае если вы не можете обеспечить обмен данными между PHP и вашим Web-сервером, помощь можно получить у других пользователей PHP, через достаточно полный список рассылки PHP, доступный по http://www.php.net/mailing-lists.php.
Очень просто получить информацию о поддержке Web-сервером PHP MySQL (начиная с PHP 4.0 такая поддержка является стандартной),. Создайте файл с расширением .php, скажем, info.php, в каталоге документов на вашем сервере и внесите туда следующий код.
Листинг 21.1.
<?php phpinfo();
Слишком много информации ...
Если вывод функции phpinfo(), на ваш взгляд, является избыточным, выполните следующую проверку, которая возвращает однострочное сообщение о поддержке MySQL языком PHP:
<?php
if (extension_loaded('mysql')) {
echo ("Есть поддержка MySQL");
}
else
А теперь просмотрим эту страницу с помощью браузера - на экране должно появиться сообщение наподобие того, что вы видите на рис. 21.l.
Исходя из этой информации, понятно, что поддерживает инсталляция PHP, - поддержка MySQL осуществляется по умолчанию во всех версиях PHP, начиная с версии PHP 4.0.
Следует заметить, что если ваш сервер не настроен на обработку файлов с расширением .php или не имеет поддержки PHP, результат работы этого сценария даст только исходный текст. В таком случае следует обратиться к документации Web-сервера или к системному администратору за информацией о том, каким образом следует настроить сервер, чтобы он поддерживал работу с PHP.
Подробнее о проверке phpinfo() можно узнать в документации PHP и замечаниях по установке PHP.
Контроль версий
Кстати, все примеры, приведенные в этой главе, созданы и проверены как под управлением ОС Linux, так и ОС Windows 95, с использованием PHP 4.2.0 и Web-сервера Apache 1.3.29.
ТОП-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 программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Все о MySQL. MySQL и PHP
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Просмотр комментариев | Все о MySQL. MySQL и PHP. Продолжение. |