ЭВМHISTORY
Статьи. Обзоры. Истории

Программирование | PHP



php, пхп

PHP (Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools — «Инструменты для создания персональных веб-страниц») — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических web-сайтов.

За последние годы PHP прошел долгий путь от набора Perl-скриптов, позволяющих следить за посетителями страницы, и до, написанного уже на языке Си, одного из самых известных и широко распространенных скриптовых языков для создания сложных, динамических, интерактивных web-сайтов.

PHP лучше всего охарактеризовать как работающий на стороне сервера встроенный язык web-сценариев, позволяющий разработчикам быстро и эффективно создавать динамические web-приложения. С позиций грамматики и синтаксиса PHP напоминает язык программирования C, хотя разработчики включили в него некоторые весьма полезные средства из других языков программирования, в том числе из Perl, Java и C++. Среди ценных заимствованных возможностей – поддержка регулярных выражений, мощные средства работы с массивами, объектно-ориентированная методология и обширная поддержка работы с различными базами данных.


PHP


История PHP начинается осенью 1994 года. Когда Расмус Лердорф (Rasmus Lerdorf) начал работать над тем, что впоследствии стало PHP, единственной целью, которая была у него в мыслях, выяснить, кто читает его резюме. В то время, являясь независимым подрядчиком, Лердорф рассылал потенциальным работодателям свое мини-резюме с URL-ссылкой на его полную версию. Чтобы следить за посетителями, он создал CGI скрипт на Perl-e, который вставлялся как специальный тег в HTML код его страницы, и собирал информацию о посетителях. Чтобы произвести впечатление на потенциальных работодателей, он позволил любому посетителю страницы просматривать собираемую статистику посещений.

php, пхп
Расмус Лердорф

Он назвал этот код для сбора статистики «PHP-Tools for Personal Home Page», поскольку сам использовал его на своей персональной домашней странице (personal home page). Несколько человек поинтересовались тем, как они могли бы получить этот инструмент, и Лердорф принял решение предоставить его другим лицам. «Это чудо программного обеспечения. Вы можете дать это и тем не менее оставить это себе», остроумно заметил Лердорф. В то время движения Open Source не существовало. «Тогда оно назвалось freeware». Ближе к концу 1995 года Лердорф открыл для людей первый список рассылки по PHP, чтобы можно было обмениваться идеями, исправлениями ошибок и кодом.


PHP/FI


В результате своих действий, Лердорф получил контракт в Университете Торонто на создание dial-up системы, предоставляющей студентам доступ в интернет. Требование включало разработку административного web интерфейса и возможности доступа студентов к Университетской библиотечной системе, хранившейся на мейнфрейме IBM. Было необходимо, чтобы администраторы библиотеки могли предоставлять студентам доступ на основе платежей, сделанных ими для своих интернет эккаунтов, и, чтобы эта информация обновлялась в базе данных в реальном времени.

В середине 1995 года синтаксический анализатор PHP был переписан на языке C. Кроме того, Лердорф создал некоторое количество тегов для вставки их в HTML код. Эти теги он назвал «Form Interpreters» (интерпретаторы форм) поскольку они должны были получать данные, которые вводились в форме, и преобразовывать эти данные в символьные переменные так, чтобы они могли быть экспортированы в другую систему.

В то время не было инструментов для «стыковки» web-страниц и баз данных. Поэтому Лердорф добавил в PHP поддержку базы данных mSQL, чтобы облегчить разработку web-сайтов, которым необходима реляционная база данных.

Объединив интерпретатор форм с пакетом PHP-Tools, Лердорф подошел в 1996 году ко второй версии PHP, названной PHP/FI. Он отнесся легкомысленно к идее создания из него коммерческого продукта. Но в то же самое время, Лердорф получал огромное число сообщений от других программистов, которые присылали ему улучшения кода и исправления ошибок.

Привести точную статистику непросто, но приблизительно в конце 1996 года PHP/FI использовался не менее чем на 15,000 web-сайтов во всем мире. А в середине 1997 года это число превысило 50,000.


PHP 3


PHP 3.0 был первой версией, которая близко походила на тот PHP, который мы знаем сегодня. Он был создан Энди Гутмансом (Andi Gutmans) и Зивом Суразски (Zeev Suraski) в 1997 году как полная переделка предыдущей версии PHP, после того, как они нашли, что возможностей PHP/FI 2.0 сильно не хватает для развития их собственного приложения для eCommerce. Энди Гутманс, Расмус Лердорф и Зив Суразски решили начать работу над новой версией PHP с существующей базы PHP/FI и, объединившись, выпустили PHP 3.0 как официальный последователь PHP/FI 2.0, а развитие PHP/FI 2.0 был в основном прервано.

php, пхп
Энди Гутманс

Одной из наиболее сильных сторон PHP 3.0 были его мощные возможности по расширению. В дополнение к предоставлению конечным пользователям единой инфраструктуры для множества различных баз данных, протоколов и API, были возможности по расширению PHP 3.0, которые привлекли десятки разработчиков к объединению и предоставлению на рассмотрение новых модулей расширения. Возможно, это и было ключом к огромному успеху PHP. Другой возможностью, представленной в PHP 3.0, была поддержка объектно-ориентированного синтаксиса и гораздо более мощный и последовательный синтаксис языка.

Полностью новый язык был выпущен под новым именем, из которого был удален намек на ограниченное персональное использование, который содержался в имени PHP/FI 2.0. Он был назван просто «PHP», со значением, являющимся рекурсивным акронимом – «PHP: Hypertext Preprocessor».


PHP 4


К зиме 1998 года, вскоре после официального выхода PHP 3.0, Энди Гутманс и Зив Суразски начали работу по переписыванию ядра PHP. Целью их плана было увеличение производительности сложных приложений и совершенствование модульности основы кода PHP. Существование таких приложений стало возможным благодаря новым возможностям PHP 3.0 и поддержкой PHP широкого диапазона различных баз данных и API сторонних производителей. Но все же PHP 3.0 не был предназначен для эффективной обработки таких сложных приложений.

Новый движок (ядро PHP), прозванный «Zend Engine» (составлено от первых букв их имен – Зив и Энди), успешно удовлетворил этим целям и был впервые представлен в середине 1999 года. PHP 4.0, базирующийся на этом движке и дополненный различными новыми дополнительными возможностями, был официально выпущен в мае 2000 года, почти два года спустя после своего предшественника – PHP 3.0. В дополнение к сильно увеличенной производительности, PHP 4.0 включил другие ключевые возможности, такие как поддержку гораздо большего количества web-серверов, HTTP-сессии, буферизацию вывода, более безопасные пути обработки ввода пользователей и ряд новых языковых конструкций.

Сегодняшняя ведущая команда разработчиков РНР включает специалистов со всего мира. Зив Сураски и Энди Гутманс живут в Израиле, Шейн Каравео (Shane Caraveo) постоянно находится во Флориде, Стиг Беккен (Stig Bakken) – из Норвегии, Андрей Змиевски (Andrei Zmievski) живет в штате Небраска, Саша Шуман (Sasha Schumann) и Тес С. Арнцен (Thes С. Arntzen) – из Германии, Джим Уинстед (Jim Winstead) – из Лос-Анджелеса, а сам отец РНР – Расмус Лердорф, постоянно живет в Северной Каролине. Команда разработки PHP включает десятки разработчиков, и немало других людей работают над проектами, связанными с PHP, такими как PEAR, Smarty и Проект документации. Благодаря открытости ресурсов РНР многие разработчики и любители внесли собственный вклад в развитие и совершенствование РНР.


PHP 5


После долгой разработки и нескольких пре-релизов в июле 2004 был выпущен PHP 5. В основном он управляется ядром Zend Engine 2.0 с новой объектной моделью и множеством различных других нововведений.


PHP 6


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

© Даниил Кальченко
Для www.getinfo.ru.


В начало


Программирование | PHP



Рейтинг@Mail.ru Яндекс.Метрика