PHP
PHP — пи-эйч-пи́, пи-аш-пи́, пэ-хэ-пэ́ — интерпретируемый скриптовый язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных.
В области вебпрограммирования PHP является на сегодняшний день одним из самых распространённых скриптовых языков (наряду с Perl, ASP/.NET и Python), благодаря простоте, скорости выполнения и богатой функциональности. Также немаловажно то, что PHP распространяется свободно. Синтаксис языка очень похож на синтаксис С++.
Поддерживается подавляющим большинством предоставителей сетевого хостинга. Интерпретатор PHP-сценариев распространяется на бесплатной основе.
История
Название PHP представляет собой самоповторяющую (рекурсивную) аббревиатуру и расшифровывается как "PHP: Hypertext Preprocessor", или "Personal Home Page". Создан в качестве надстройки над Perl для облегчения разработки веб-страниц.
За свою жизнь PHP значительно изменялся.
PHP/FI
В 1994 году датский программист (ныне живущий в Канаде) Расмус Лердорф (Rasmus Lerdorf) написал набор скриптов на Perl для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор 'Personal Homepages Tools' ('Инструменты для личных страниц'). Вскоре функциональности и быстроты набора Перл-скриптов перестало хватать, и Лердорф написал на языке C интерпретатор шаблонов PHP/FI (Personal Home Page / Forms Interpreter — «Личная домашняя страница / Интерпретатор форм». PHP/FI включал базовую функциональность сегодняшнего PHP: оформление переменных как в Perl($имя_переменной для вывода значения), автоматическую обработку форм и встраиваемость в HTML-текст. Собственно синтаксис языка был похож на Perl'овский, только проще и ограниченнее.
В 1997, после долговременного бета-тестирования вышла вторая версия обработчика, написанного на C — PHP/FI 2.0. Её использовали около одного процента всех интернет-доменов мира.
PHP 3
PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году Энди Гутманс (Andi Gutmans) и Зив Сураски (Zeev Suraski) переписали код с начала: разработчики сочли PHP/FI 2.0 непригодным для разработки приложения электронной коммерции, над которым они работали для проекта Университета. Для совместной работы над PHP 3.0 с помощью базы разработчиков PHP/FI 2.0 Энди, Расмус и Зив решили объединиться и объявить PHP 3.0 официальным преемником PHP/FI, разработка же PHP/FI была практически полностью прекращена.
Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра. В последствии интерфейс написания расширений привлек к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое число API. Фактически, это и был главный ключ к успеху, но стоит добавить, что немаловажным шагом оказалась разработка нового, намного более мощного и полного синтаксиса с поддержкой ООП.
Абсолютно новый язык программирования получил новое имя. Разработчики отказались от дополнения о персональном использовании, которое имелось в аббревиатуре PHP/FI. Язык был назван просто 'PHP' — аббревиатура, содержащая рекурсивный акроним: 'PHP: Hypertext Preprocessor' (PHP: Препроцессор Гипертекста).
К концу 1998, PHP использовался десятками тысяч пользователей. Сотни тысяч web-сайтов сообщали о том, что они работают с использованием языка. В то время PHP 3.0 был установлен приблизительно на 10% серверах Интернета.
PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичного тестирования.
PHP 4
К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Расширения дали PHP 3.0 возможность успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали неэффективно.
Новый движок, названный 'Zend Engine' (от имен создателей: Zeev и Andi), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принесший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника PHP 3.0. В дополнение к улучшению производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.
Сегодня PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов сообщают о работе с PHP, что составляет более 20% доменов Интернета.
Группа разработчиков PHP состоит из множества людей, работающих над ядром и расширениями PHP, и смежными проектами, такими, как PEAR или документация языка.
На данный момент наиболее популярна именно эта версия языка.
PHP 5
Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление движка Zend, что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработана объектно-ориентированая модель, которая во многом схожа с моделью, используемой в Java. В частности введен деструктор, открытые, закрытые и защищённые члены и методы, final-члены и методы, интерфейсы и клонирование объектов. Нововведения, однако, были сделаны с расчётом сохранить наибольшую совместимость с кодом на предыдущих версиях языка.
Alt:
Краткая история
История РНР начинается с 1995 года, когда независимый программист-контрактник по имени Расмус Лердорф (Rasmus Lerdorf) написал сценарий Perl/CGI для подсчета количества посетителей сайта, прочитавших его онлайновое резюме. Его сценарий решал две задачи: регистрацию данных посетителя и вывод количества посетителей на web-странице. Развитие WWW ещё только начиналось, никаких специальных средств для решения этих задач не было, и к автору хлынул поток сообщений с вопросами. Лердорф начал бесплатно раздавать свой инструментарий, названный Personal Home Page (PHP) или Hypertext Processor (гипертекстовый процессор). Шумный успех инструментария РНР заставил Лердорфа приступить к разработке расширений РНР. Одно из расширений преобразовывало данные, введенные на форме HTML, в символические переменные, что позволяло экспортировать их в другие системы. Чтобы добиться поставленной цели, Лердорф решил в дальнейших разработках перейти с Perl на С. Расширение существующего инструментария РНР привело к появлению РНР 2.0, или PHP-FI (Personal Home Page — Form Interpretator). В усовершенствовании версии 2.0 принимали участие программисты со всего мира. Новая версия РНР пользовалась исключительной популярностью, и вскоре образовалась основная команда разработчиков. Они сохранили исходную концепцию внедрения программного кода прямо в HTML и переписали заново механизм лексического анализа, что привело к появлению РНР 3.0. К моменту выхода версии 3.0 в 1997 году свыше 50 000 пользователей применяли РНР для улучшения своих web-страниц.
В течение следующих двух лет стремительное развитие РНР продолжалось. В язык добавлялись сотни новых функций, а количество пользователей стремительно росло. В начале 1999 года служба Netcraft сообщила о том, что, по минимальным оценкам, число пользователей РНР превысило 1 000 000, в результате чего РНР стал одним из самых популярных сценарных языков в мире.
В начале 1999 года было объявлено о предстоящем выходе РНР 4.0. Хотя одной из сильнейших сторон РНР была эффективность выполнения сценариев, при первоначальных разработках не предполагалось, что на базе РНР будут строиться крупномасштабные приложения. По этой причине была начата работа над более устойчивым механизмом лексического анализа, больше известным под названием Zend. Работа шла быстро и завершилась 22 мая 2000 года выпуском РНР версии 4.0.
Кроме лексического анализатора Zend, компания Zend Technologies (Израиль) распространяет оптимизатор Zend, который повышает выигрыш в быстродействии от применения лексического анализатора Zend. Тесты показывают, что ускорение работы программы в результате использования оптимизатора составляет от 40 до 100%. За дополнительной информацией обращайтесь на сайт Zend.
- В 1997 году было решено, что сокращение РНР должно означать не «Personal Home Page», a «PHP Hypertext Processor»*.
- Подобные «рекурсивные» определения часто встречаются в хакерском арго.
см. также PHP homepage
Ссылки
- http://www.php.net — Официальный сайт The PHP Group.
- Русское руководство по PHP
- http://www.phpclub.ru — русскоязычный ресурс о PHP.
- http://phpclub.ru/faq/ - PHP Club Cookbook & FAQ - ответы на частозадаваемые вопросы
- http://www.phpconf.ru — PHP Конференции.
- http://www.phpinside.ru — 1-й русский журнал о PHP.
- http://www.lerdorf.com — сайт Расмуса Лердорфа.
- http://www.codenet.ru — сайт по большинству известных языков программирования.
- http://www.softtime.ru/forum/ — русскоязычный форум, поддерживаемый авторами нескольких книг по PHP.