Ваш первый Сайт С использованием РНР-скриптов
История РНР
История РНР начинается с 1995 г., когда независимый программист - контрактник по имени Расмус Лердорф (Rasmus Lerdorf) написал сценарий Perl/CGI для подсчета количества посетителей сайта, прочитавших его онлайновое резюме. Его сценарий решал две задачи: регистрацию данных посетителя и вывод количества посетителей на web-странице. Развитие WWW еще только начиналось, никаких специальных средств для решения этих задач нс было, и к автору хлынул поток сообщений с вопросами. Лердорф начал бесплатно раздавать свой инструментарий, названный Personal Home Page (РНР) или Hypertext Processor (гипертекстовый процессор). Шумный успех инструментария РНР заставил Лердорфа приступить к разработке расширений РНР. Одно из расширений преобразовывало данные, введенные на форме HTML, в символические переменные, что позволяло экспортировать их в другие системы. Чтобы добиться поставленной цели, Лердорф решил в дальнейших разработках перейти с Perl на С. Расширение существующего инструментария РНР привело к появлению РНР 2.0, или PHP-FI (Personal Home Page - Form Interpretator). В усовершенствовании версии 2.0 принимали участие программисты со всего мира. Новая версия РНР пользовалась исключительной популярностью, и вскоре образовалась основная команда разработчиков. Они сохранили исходную концепцию внедрения программного кода прямо в HTML и переписали заново механизм лексического анализа, что привело к появлению РНР 3.0. К моменту выхода версии 3.0 в 1997 г. свыше 50 ООО пользователей применяли РНР для улучшения своих web-страниц. В 1997 г. было решено, что сокращение РНР должно означать не «Personal Home page», а «РНР Hypertext Processor».
В течение следующих двух лет стремительное развитие РНР продолжалось. В язык добавлялись сотни новых функций, а количество пользователей стремительно росло. В начале 1999 г. служба Netcraft (Http://www. netcraft. com) сообщила о том, что, по минимальным оценкам, число пользователей РНР превысило 1 ООО ООО, в результате чего РНР стал одним из самых популярных сценарных языков в мире.
В начале 1999 г. было объявлено о предстоящем выходе РНР 4.0. Хотя одной из сильнейших сторон РНР была эффективность выполнения сценариев, при первоначальных разработках не предполагалось, что на базе РНР будут строиться крупномасштабные приложения. По этой причине была начата работа над более устойчивым механизмом лексического анализа, больше известным под названием Zend (Http://www. zend. com). Работа шла быстро и завершилась 22 мая 2000 г. выпуском РНР версии 4.0. В настоящее время, все более популярной становится РНР версии 5.0. Программное обеспечение РНР установлено более чем в 4 млн доменов. Будущее РНР выглядит светлым, поскольку продукт продолжает активно использоваться как на крупных web-сайтах, так и на компьютерах отдельных пользователей.
РНР лучше всего охарактеризовать как работающий на стороне сервера встроенный язык сценариев Web, позволяющий разработчикам быстро и эффективно строить динамические web-приложения. С позиций грамматики и синтаксиса РНР напоминает язык программирования С, хотя разработчики не постеснялись включить в него средства из других языков, в том числе из Perl, Java и С++. Среди ценных заимствованных возможностей - поддержка регулярных выражений, мощные средства работы с массивами, объектно - ориентированная методология и обширная поддержка работы с базами данных.
При написании приложений, выходящих за рамки традиционной, статической методологии разработки web-страниц (т. е. HTML), РНР также может послужить ценным инструментом для создания и управления динамическим содержанием, который используется наряду с JavaScript, стилями, WML (Wireless Markup Language) и другими полезными языками. Благодаря наличию сотен стандартных функций РНР в состоянии решить практически любую задачу, которая может прийти в голову разработчику. В нем имеется обширная поддержка создания графики и операций с ней, математических вычислений, средств электронной коммерции и таких популярных технологий, как XML (Extensible Markup Language), ODBC (Open Database Connectivity) и Macromedia Shockwave. Широкий выбор возможностей избавляет от необходимости рутинной и непростой работы по подключению сторонних модулей, поэтому многие разработчики со всего мира останавливают свой выбор на РНР.
Одним из главных достоинств РНР является тот факт, что он внедряется прямо в HTML-код, поэтому программисту не приходится писать программу с множеством команд для простого вывода HTML. Код HTML и РНР можно чередовать по мере необходимости. РНР позволяет написать фрагмент следующего вида:
<html>
<title><?print "Hello world!"; ?></title> </html>
Сообщение "Hello world!" выводится в заголовке web-страницы. Интересно то, что команда print внутри конструкции, которая обычно называется экранирующими последовательностями РНР (<?...?>), представляет собой законченную программу. Ни длинного кода инициализации, ни включения библиотек - программа состоит лишь из того кода, который непосредственно решает поставленную задачу! Если на данный момент вы не понимаете приведенный выше код, то поймете позже, дойдя до гл. 4.
Конечно, для выполнения сценариев РНР необходимо предварительно установить и настроить программное обеспечение РНР на сервере (или на вашем компьютере). Этот процесс описан в гл. 2. Но прежде чем браться за процесс установки, мы познакомимся с некоторыми характеристиками РНР. Этой теме посвящен следующий раздел данной главы.