IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Корни Php (http://www.imho.ws/showthread.php?t=47005)

FreeSpace 27.12.2003 00:52

Корни Php
 
Корни PHP
(перевод одноименной главы книги Core PHP Programming, Third Edition)
Копирование и распространение этого перевода допускается только со ссылкой на эту страницу!

Удивительные вещи получаются из обычного вдохновления. Изначально PHP был лишь способом подсчета посетителей на странице резюме Расмуса Лердорфа (Rasmus Lerdorf). Так же он позволял встраивать SQL-запросы в веб-страницы. Но, как часто происходит в Сети, восхищенные посетители сразу стали просить себе копию этого движка. Как приверженец интернетовской этики и вообще, как достаточно открытая особа, Расмус выпустил на просторы ничего не подозревающей Сети свой движок Personal Home Page Tools (Инструмент для создания Личных Домашних Страниц) версии 1.0.

"Выпустил на просторы своего сознания" будет немного точнее. PHP стал очень популярен. Следствием был поток предложений по улучшению. PHP 1.0 фильтровал входящие данные, заменяя простые команды на HTML. По мере роста его популярности, люди задумывались, что ещё можно из него выжать. Циклы, условные переходы, расширенные структуры данных - все удобства современного структурного программирования виделись следующим логичным шагом. Расмус изучал языковые парсеры, читал про YACC и GNU Bison, и создал PHP 2, иначе известный как PHP/FI.

PHP/FI позволял разработчикам встраивать структурный код внутрь HTML-тегов. PHP-скрипты могли обрабатывать данные, полученные из HTML-форм, работать с базами данных и производить сложные вычисления "на лету". Так же он был очень быстрым, благодаря свободно распространяемому исходному коду, компилируемому в веб-сервер Apache. PHP-скрипты исполнялись как часть веб-сервера и не требовали форкинга (forking) - частого предмета критики Common Gateway Interface (CGI) скриптов.

PHP был законным средством разработки и начал использоватся для коммерческих веб-сайтов. В 1996, Clear Ink создала сайт SuperCuts (www.supercuts.com) и использовала PHP чтобы создать уникальное впечатление для веб-сёрферов. Веб-сайт PHP отслеживает популярность PHP измеряя количество разных веб-сайтов, которые используют модуль PHP. Во время написания второй редакции этого текста, казалось действительно интересным то, что PHP вырос с 100 000 сайтов до 350 000 сайтов за 1999 год. По последним сведениям, более 10 миллионов доменов используют PHP!

В 1997 году пара Израильских студентов по имени Энди Гутманс (Andi Gutmans) и Зеев Сураски (Zeev Suraski) пытались использовать его для создания онлайновой корзины покупок интернет-магазина, посчитав его достаточно продвинутым для того, чтобы стать университетским проектом. Немного спустя, они начали натыкаться на разнообразные баги в PHP, что заставило их заглянуть глубже в его исходный код. К своему удивлению, они обнаружили то, что PHP не соблюдает большинство принципов языкового дизайна (language design), что вызывало неожиданные повороты в его работе и ошибки. Всегда находясь в поиске хорошей причины чтобы не готовится к экзаменам, они начали создавать новый вариант. Частично это было проверкой их программистских способностей, частично - отдыхом. Несколько месяцев спустя, они переписали PHP с нуля, впервые сдеелав его настоящим, связным и формализированным языком. Проведя над проектом столько времени, они попросили своего начальника курса, доктора Майкла Родега (Dr. Michael Rodeh) о помощи для избежания ненужных экзаменов. Будучи менеджером исследовательского центра IBM в Хайфе и хорошо осведомленного в огромном количестве разных языков программирования, он согласился, но с оговоркой, что они начнут сотрудничать с существующими разработчиками PHP/FI вместо того, чтобы создавать свой собственный язык.

Когда Энди и Зеев отправили е-мейл Расмусу, в котором сообщали о своей переработке, они размышляли, примет ли он эту новую работу, так как это означало бы отказ от его собственной версии. Расмус таки принял её, и был сформирован новый состав PHP Core Team, известной сейчас как PHP Group. Вместе с Энди, Расмусом и Зеевым, три других разработчика - Стиг Баккен (Stig Bakken), Шейн Каравио (Shane Caraveo) и Джим Винстед (Jim Winstead) - были приняты в Core Team. Вокруг PHP начало рости общество разработчиков.

После семи месяцев разработки, альфа- и бета-тестирования, 6-го июня 1998 года свет увидела версия PHP 3.0, которая дала начало необыкновенно активному росту PHP популярности. Функциональность PHP расла буквально ежедневно, и PHP-программы росли как грибы после дождя. Следом за релизом, начали расцветать PHP-проекты с открытым кодом. Проекты вроде Phorum'а обслуживали долговременные интернет-нужды, такие как поддержание онлайновых дискуссий. Проект PHPLib организовал фреймворк (фундамент) для работы с пользовательскими сессиями, который вдохновил разработчиков PHP. FreeTrade, проект, который я (автор - прим. пер.) вёл, предлагал инструменты для создания сайтов электронной коммерции.

Так же увеличилось количество печатных материалов о PHP. Более 20 статей появилось на достаточно известных сайтах вроде webmonkey.com и techweb.com. Запускались сайты, направленные на поддержку PHP-разработчиков. Первые две книги о PHP были опубликованы в мае 1999 года. Эгон Шмид (Egon Schmid), Кристиан Картус (Christian Cartus) и Ричард Блум (Richard Blume) написали книгу на немецком, названную PHP: Профессионально реализованные динамические веб-соединения (Dynamische Webauftritte professionell realisieren). Прентис Холл (Prentice Hall) опубликовал первую редакцию моей книги, Core PHP Programming. С тех пор, бесчисленное количество книг о PHP заполнили полки книжных магазинов.

Учитывая такую историю, небыло причин не радоватся тому, каким PHP был в те времена. Возможно, внутреннее осознание того, что происходит "внутри", а так же чувство, знакомое каждому разработчику - "Я бы мог сделать это намного лучше" — были причинами, почему Энди и Зеев были одними из тех людей, кто разочаровался в PHP 3. Как по привычке, они отвернулись от PHP-общества и попытались создать новый подход к исполнению PHP-скриптов.

Несколько месяцев спустя, 4-го января 1999 года, Зеев и Энди анонсировали фреймворк, который обещал значительно увеличить производительность PHP-скриптов. Они назвали новый фреймворк Zend Engine. Ранние тесты показывали уменьшение времени выполнения скриптов в 100 раз. К тому же, планировались новые возможности компиляции скриптов в байткод, дебаггинг, оптимищация и профайлинг. Это объявление официально положило конец проекту PHP 3.1, который должен был принести лучшую поддержку Windows в PHP 3, но так и не получил необходимый толчок, и официально началось планирование PHP 4.

Работа над Zend Engine и PHP 4 продолжалась паралельно с исправлением ошибок и совершенствованием PHP 3. На протяжение 1999 года, были выпущены восемь возростающих версий, и 21 декабря 1999 года была анонсирована версия PHP 3.0.13. Бета-версия PHP, основанная на Zend Engine была открыта общественности 19 июля 1999 года, а далее следовал период интенсивной разработки различных компонентов, некоторые из которых были абсолютно новыми, такие как встроенная поддержка сессий, буферизация вывода и абстракция от веб-сервера (Web server abstraction layer). Релиз PHP 4 произошел 22 мая 2000 года, став ещё одной важной датой на становлении PHP как самой популярной платформы веб-разработки на земле. Количество людей, разрабатывающих PHP на разных уровнях, росло просто невероятно, и новые проекты, наиболее значительный из которых - PEAR, набирали обороты и продвигали PHP на вершину популярности.

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

PHP - это не коробочный продукт, создаваемый безликими роботами или волшебниками в башне из слоновой кости. Вначале PHP был простым инструментом, вышедшим на Базар, описанный Эриком Реймондом (Eric Raymond) в своём очерке Собор и Базар (The Cathedral and the Bazaar). Как только он появился, каждый мог вносить улучшения, и многие именно так и поступали. Их цель кажется лишь достяжением прямых, личных интересов. Если появляется клиент, которому нужен проект с использованием такого типа баз данных, который не поддерживает PHP, ты просто садишься и пишешь модуль-расширение. А потом отдаешь его Проекту PHP. Дальше другие люди исправляют твои баги.

Тем не менее, доминирующее большинство пользователей PHP никогда не писали модули-расширения. Они с удовольствием находят то, что ищут, в работах других людей, которые делятся своим кодом. Те, кто делятся тысячами линий кода в пользу PHP скорее всего никогда не считают себя героями. Они не кричат направо и налево о своих достижениях. Но благодаря тому, что каждая часть PHP исходит из реального человека, я бы хотел упомянуть о них. Там, где это уместно (дальше по тексту книжки - прим. пер.), я буду напоминать о том, кто добавил каждый отдельный модуль-расширение.

Вы можете найти свежий список разработчиков на веб-сайте PHP (http://www.php.net/credits.php).

CEO 05.01.2004 19:02

FreeSpace :Инстория это хорошо...
Прочел, и мне показалось что гдето я уже читал такое...
Лично я очень благодарен всем кто принимает участие в продвижении PHP, т.к. без него небылобы альтернативы и пришлось бы все делать либо на perl либо используя asp.
Цитата:

Thies C. Arntzen, Stig Bakken, Shane Caraveo, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski
Странно не так то их и много набралось...

FreeSpace 05.01.2004 20:12

Цитата:

CEO:
Странно не так то их и много набралось
Если бы, не дай Бог, набралось больше - получился бы ASP :)
А чем писать на ASP, лично я скорее Перл выучу...

CEO 05.01.2004 21:52

FreeSpace
[ooftop]
Помоему что ASP что Perl ни в какое сравнение с PHP не идут. ASP, потому что поддерживается только MS, а Perl, как-то пытался я примерно год назад выучить за неделю, ничего не понял и плюнул. Прошло немало времени прежде чем я решился вновь поробовать после этого освоить Web- программирование, наткнулся на PHP и с удивлением обнаружил что разобраться реально!
Спасибо всем , кто поддерживает и развивает этот язык.
[/offtop]

Цитата:

Если бы, не дай Бог, набралось больше - получился бы ASP
На такие перлы как ASP, мне кажется способны только ребята из MicroSoft :).

GreatWeb 14.02.2004 13:21

FreeSpace, мне кажется, что каждый перец, пищущий на PHP должен знать кто его создал и как он расщифровывается :)

FreeSpace 14.02.2004 15:43

GreatWeb
ИМХО, это остается на совесть каждого конкретного человека.
Если он не считает это необходимым для себя - может не учить.
Но, думаю, как минимум имена главных разработчиков знать надо.

Кстати, про само название "PHP":
Начиная, если не ошибаюсь, с четвертой версии, название "PHP" является рекурсивным акронимом и расшифровывается как "PHP: Hypertext Preprocessor" (PHP: Предварительный обработчик гипертекста . Да, я знаю, по-русски звучит уродливо :)).

is_absent 21.02.2004 18:47

FreeSpace
в ранних версиях эти три буквы расшифровывались как Personal Homepage Preprocessor

FreeSpace 22.02.2004 00:19

@_is_absent
Если уж говорить о ранних версиях, то первая и вторая версии PHP расшифровывались как "Personal HomePage", без всяких препроцессоров.

is_absent 22.02.2004 12:31

Не знал :) Я нашел историю только до PHP3/FI... так он кажется официально значился. Что это значит, я так и не нашел нигде. Может быть знающие люди помогут выяснить? :-)

FreeSpace 22.02.2004 15:20

И где ты только такой дезинформации накопал? :)
Нету такого языка - PHP3/FI.
Есть PHP/FI, так же известный как PHP2.
Как раз на этапе PHP/FI к Расмусу присоединились Энди и Зеев.
Загадочное FI означает Form Interpreter - обработчик форм.

Silya 27.02.2004 13:28

Статья классная.
А нет ли более полной версии?

plohich 27.02.2004 14:09

куда уж полнее, это и есть история PHP во всей ее красе. :)
А вообще это очень хорошо что есть такой понятный и главное бесплатный язык. вот только жаль что программы для работы с ним стоят ужасно дорого (Zend encoder 2800$, УЖАС!!!)

Рекомендую всем посещать php.net, там можно найти много полезной инфы по всем аспектам PHP.

Добавлено в ту же минуту:
FreeSpace
за статью спасибо.

y.savenkov 22.05.2004 17:06

Kurs po PHP
 
a kto nibud mojet podskazat gde mojno naiti horoshii kurs po php?

Hubbitus 22.05.2004 17:16

Цитата:

jenyas:
a kto nibud mojet podskazat gde mojno naiti horoshii kurs po php?
http://www.kurepin.ru/php/ - по крайней мере очень интересно! Не помню, кто-то уже давал на него ссылку в этом форуме.

P.S. И вообще, лучше бы топик новый создал, ато вопрос твой мало относится к истории создания PHP. :)

antonprk 13.11.2004 22:23

Цитата:

jenyas:
Kurs po PHP



a kto nibud mojet podskazat gde mojno naiti horoshii kurs po php?
Книжка по языку С.

Mr.K 23.02.2007 01:09

Цитата:

Сообщение от Hubbitus (Сообщение 515669)
http://www.kurepin.ru/php/ - по крайней мере очень интересно! Не помню, кто-то уже давал на него ссылку в этом форуме.

P.S. И вообще, лучше бы топик новый создал, ато вопрос твой мало относится к истории создания PHP. :)

Вот как раз Курепина читать ни в коем случае не стоит. Он пишет хорошо но полную чепуху, учит использовать средства ООП как тупую обертку для методов...

tarantyl 12.06.2009 14:06

Цитата:

Сообщение от CEO (Сообщение 378664)
Помоему что ASP что Perl ни в какое сравнение с PHP не идут. ASP, потому что поддерживается только MS, а Perl, как-то пытался я примерно год назад выучить за неделю, ничего не понял и плюнул. Прошло немало времени прежде чем я решился вновь поробовать после этого освоить Web- программирование, наткнулся на PHP и с удивлением обнаружил что разобраться реально!


Я до php писал на perl и упорно отказывался переходить на php, потом как-говорится рынок вынудил... Перл хороший язык, со своими тараканами, как например что все переменные по умолчанию глобальные, даже внутри функций, если не напишешь my вроде или local...

Но php еще и благодаря тому что дало толчок увеличению сайтов в инете, оно еще и помогло его загадить...

Ну и пхп легко учить, если до этого писал на С том же самом

REPLAY_5 01.07.2014 08:32

пфф.. PHP всегда, уж простите, был не стабилен. То переходы с версий на версии, до баги какие то, сам язык не плох, и для детской песочницы вполне подходит. НО серьезные проекты я всегда реализовываю ТОЛЬКО на asp.net. это связанно с безопасностью, стабильностью, возможностью havy load.

Вы где нить видели сайт банковской процессинговой системы (ну типа клиент банк) на PHP ? ) :beer:

Никому ни в обиду. Просто каждому решению - своя платформа.

Hubbitus 18.08.2014 12:38

Цитата:

Сообщение от REPLAY_5 (Сообщение 1777510)
Вы где нить видели сайт банковской процессинговой системы (ну типа клиент банк) на PHP ? )

Видели конечно, отчего ж нет - ОкеанБанк (https://www.platezh.ru/) на PHP да ещё и на винде.

С другой стороны вы где-нибудь видели топ-проекты и уж тем более high-load на asp.net??? Facebook и vkontakte на PHP, одноклассники и linkedin на Java стеке. Google в основном Java + Python (впрочем они и остальные языки используют по заявлениям в их блоге).

В общем, единственное к чему я призываю в этом посте - не надо вешать априорные языки.

Ramzzes 15.01.2015 02:29

Больше радует, что сейчас разработка опять активно двинулась, в ближайшем будущем 7-я версия должна выйти, с весьма приятными изменениями.


Часовой пояс GMT +4, время: 17:12.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.