История возникновения и развития PHP

Печать

История PHP начинается с 1995 года, когда Расмус Лердорф (Rasmus Lerdorf) создал простое приложение на языке Perl, анализирующее посещения пользователями его резюме на веб-сайте. Затем, когда этим приложением уже пользовались несколько человек, а число желающих получить его постоянно увеличивалось, Лердорф назвал свое творение Personal Home Page Tools версия 1 и выставил для свободного скачивания. С этого момента начался небывалый взлет популярности PHP.

Как это всегда бывает, срочно потребовались доработки и дополнения. Для их реализации Расмус создает новую версию пакета, теперь уже написанную на С. Полученный таким образом инструмент приобретает рабочее название PHP/FI (Personal Home Page / Forms Interpreter - Персональная Домашняя страница / Интерпретатор Форм), в дальнейшем он также будет известен под названием PHP 2. Эта версия уже в большей степени похожа на сегодняшний PHP. Она имела синтаксис и способ именования переменных в стиле языка Perl, автоматическую интерпретацию форм, интеграцию с базами данных (в основном с mSQL) и возможность встраивания PHP операторов в html-код страницы. При этом все работало очень быстро, так как PHP прикомпилировался к веб-серверу Apache. К 1997 году PHP использовался уже на 50,000 доменах (не более 1% всех веб-серверов).

В том же 1997 году к проекту PHP подключились Зив Сураски (Zeev Suraski) и Энди Гутманс (Andi Gutmans). Будучи студентами одного из Израильских универсистетов, они пытались использовать PHP/FI для одного из коммерческих университетских проектов. При этом им пришлось столкнуться со многими трудностями и ограничениями этой технологии. Изучая исходный код PHP 2, Зив и Энди пришли к выводу о необходимости доработки, а точнее существенной переработки PHP, особенно в плане ситаксиса языка. В течение нескольких месяцев они блестяще справились с этой задачей, тем более приятно, что данная работа была зачтена им в качестве учебной нагрузки университета.

Закончив работу Зив и Энди связались с Расмусом, который воспринял все изменения PHP "на ура". С этого момента появляется PHP Group - группа единомышленников, работающих над развитием технологии PHP. Полученный продукт совместной деятельности увидел свет в 1998 году под названием PHP 3.

При этом главной особенность PHP 3 была возможность расширения ядра, что привлекло к работе над PHP множество сторонних разработчиков, создающих специализированные модули. Их наличие дало PHP возможность работать с огромным количество баз данных, протоколов, поддерживать большое число API. К концу 1998 количество пользователей PHP перевалило за 100000, а PHP был уже установлен на не менее чем 10% серверах Интернета. В печати были опубликованы более 20 статей по теме PHP и вышли 2 книги.

Сразу же после выхода PHP 3, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В первую очередь предстояло решить проблему повышения производительности. Новый движок, названный Zend Engine (от имен создателей: Zeev и Andi), успешно справлялся с этой задачей и был реализован в 1999 году. Основной идей его использования была возможность компиляции сценария в исполняемый модуль, за счет чего производительность можно было поднять на порядок.

PHP 4, работающий на этом движке вышел в 2000 году. В дополнение к улучшению производительности, PHP 4 имел новые возможности по поддержке сессий, буферизацию вывода, безопасные способы обработки вводимой пользователем информации и новые языковые конструкции. С выходом 4 версии PHP стал использоваться уже на более чем 20% доменов Интернета.

За время с 2000 по 2004 год продолжались активные работы по улучшению 4 версии, но почти сразу PHP Group приступила к продумыванию возможностей новой версии. В первую очередь было решено усилить объектные возможности языка, что позволяло использовать его для реализации достаточно крупных проектов. Работы по созданию версии 5 велись продолжительное время, в них принимало участие рекордное количество специалистов, из которых хотелось бы особо отметить Стерлинга Хьюза (Sterling Hughes) и Маркуса Бергера (Marcus Boerger).

И вот, наконец, в июле 2004 года, выходит официальный релиз PHP 5. В первую очередь, как и планировалось, переработке подвергся весь механизм работы с объектами. И если в предыдущих версиях объектно-ориентированное программирование на PHP было возможно в минимальной степени, из-за чего и использовалось на практике не часто, то PHP 5 обладает великолепным потенциалом реализации объектного программирования. Кроме этого, PHP обогатился рядом ценных расширений для работы с XML, различными источниками данных, генерации графики и пр.

Все основные библиотеки для работы с XML, которые имелись в PHP 4, были подвергнуты серьезной переработке. Такие популярные расширения, как SAX, DOM и XSLT, теперь используют инструмент libxml2, что делает их еще более эффективными. В PHP 5 также включены два новых расширения – SimpleXML и SOAP.

SimpleXML позволяет значительно упростить работу с XML-данными, представляя содержимое XML-документа в виде PHP-объекта. Никогда еще работа с XML в PHP не велась так просто.

Расширение SOAP позволяет строить на PHP сценарии, обменивающиеся информацией с другими приложениями при помощи XML-сообщений поверх существующих веб-протоколов, например HTTP. Появляется возможность интегрировать PHP приложения с популярнейшими на сегодняшний день веб-сервисами. Расширение SOAP для PHP 5 предоставляет разработчикам средство для достаточно быстрого создания эффективных SOAP-клиентов и SOAP-серверов.

Новое расширение PHP 5 MySQLi (MySQL Improved) предназначено для работы с MySQL-сервером версий 4.1.2 и выше, реализуя не только процедурный, но и объектно-ориентированный интерфейс к MySQL. Дополнительные возможности этого модуля включают – SSL, контроль транзакций, поддержка репликации и пр.

Расширение SQLite позволяет строить приложения, хранящие данные в обычных файлах, с возможностью использования к ним интерфейса SQL. Главное преимущество SQLite – исключительная простота использования. SQLite наряду с процедурными имеет также мощные объектно-ориентированные возможности для работы с данными. Другие отличительные особенности SQLilte – высокая скорость, отсутствие сложных механизмов администрирования, легкая переносимость и пр. Многие эксперты прогнозируют большую популярность данного расширения PHP.

Другие новые расширени PHP 5 включают:

- Tidy – для анализа и исправления HTML-документов

- Perl – использование Perl-сценариев непосредственно из PHP-кода

- SPL (Standard PHP Library) – расширение ZE2, определяющее стандартный набор интерфейсов

и классов

- PDO (PHP Data Objects) – предоставляет универсальный интерфейс доступа к данным из PHP

- PIMP – новая библиотека для работы с графикой, пришедшая на замену модуля GD.

Среди других крайне полезных добавлений в PHP 5 следует отметить новую схему обработки исключений. Конструкция try/catch/throw позволит весь код обработки ошибок локализовать в одном месте сценария.

Кроме этого, в PHP 5:

- используется новый более быстрый диспетчер памяти

- PHP 5 дополнен свойствами, необходимыми для чёткой реализации структуры PEAR и

связанной с ним функциональности

- добавлено множество новых функций для работы с массивами, потоками, файлами, строками и пр.

На самом деле, на этом история PHP не заканчивается. У технологии PHP все еще только впереди!