Блог компании Zavod it-стартапов

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

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

Один из языков программирования, с которым мы работаем является PHP. Сегодня хочется поговорить, откуда же он взялся.

История развития php, по меркам интернета, началась давно. В 1994 году, когда Расмус Лердорф (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% всех веб-серверов).

В том же 97 году к проекту 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 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, различными источниками данных, генерации графики и пр.  Среди других крайне полезных добавлений в PHP 5 следует отметить новую схему обработки исключений. Конструкция try/catch/throw позволит весь код обработки ошибок локализовать в одном месте сценария.

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

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

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

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

Шестая версия PHP находилась в стадии разработки с октября 2006 года. В ней уже были сделаны множество нововведений, как, например, исключение из ядра «длинных» суперглобальных массивов, удаление директив safe_mode, magic_quotes_gpc и register_globals из конфигурационного файла php.ini. Основные усилия были сосредоточены на поддержке Юникода. Однако в марте 2010 года разработка PHP6 была признана бесперспективной из-за сложностей с поддержкой Юникода. Исходный код PHP6 перемещён на ветвь, а основной линией разработки стала версия 5.4.

Можно не сомневаться, что история возникновения и развития PHP на этом не заканчивается. Эта технология имеет огромные перспективы своего совершенствования и применения в будущем.