LINUX.ORG.RU

PHP исполнилось 20 лет

 


3

2

Именно в этот день, 8 июня 1995 года, Расмус Лердорф открыл исходный код PHP Tools общественности.

Созданное в 1994 году Расмусом Лердорфом, самое первое воплощение PHP было простым набором CGI-скриптов, написанных на языке программирования Си.

Первой версией PHP, напоминающей тот язык, каким мы знаем его сегодня, была версия 3.0. Примерно после девяти месяцев публичного тестирования, при объявлении официального выпуска PHP 3.0, он уже был установлен на более чем 70000 доменах по всему миру. На пике своего развития PHP 3.0 был установлен приблизительно на 10% веб-серверов в Интернете.

PHP 4.0, основанный на новом движке «Zend Engine», официально вышел в мае 2000 года. Кроме значительного улучшения производительности, PHP 4.0 получил ещё несколько ключевых нововведений, таких как поддержка намного большего числа веб-серверов, поддержка HTTP сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

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

В 2009 году появилась группа совместимости фреймворков (PHP-FIG), которая начала благородную миссию по стандартизации совместимости PHP-проектов. Большинство PHP-библиотек и фреймворков начали адаптацию под рекомендации, предложенные или одобренные группой совместимости фреймворков (PSR).

В апреле 2011 началась работа над менеджером зависимостей Composer, который должен прийти на замену устаревшему PEAR.

Новая значительная версия PHP 5.4 была выпущена в марте 2012. С выпуском этой версии PHP получил заметные улучшения производительности, новые функции включают трейты, короткий синтаксис массивов, встроенный веб-сервер для тестирования и многое другое.

С приходом версии 5.5 в PHP появились генераторы и сопрограммы, ключевое слово finally, упрощенное API для хеширования паролей и множество других новых функций.

Несмотря на наличие обширной документации, первоначальный черновик спецификации был анонсирован только в 2014 году.

А в августе этого же года вышла стабильная значительная версия PHP 5.6. Новые функции включают скалярные выражения в константах, функции с переменным числом аргументов при помощи оператора ..., оператор возведения в степень **, импорт функций и констант при помощи ключевого слова use и многое другое.

Уже осенью этого года состоится выпуск PHP 7, который включит революционные для этого языка изменения.

>>> Подробности

★★★★★

Проверено: maxcom ()
Последнее исправление: cetjs2 (всего исправлений: 2)

Ответ на: комментарий от Shadow

Соответственно, то, что предлагалось под «всё есть JSON», гонять аналогичныее по смыслу пары «ключ-значение», связанные с авторизацией и сессией, из JS фронтенда на бэкенд и обратно в формате JSON с помощью AJAX.

Теперь распарсил. Но чем оно лучше традиционного — не понимать. Тем, что AJAX и не требует загрузки страницы?

pihter ★★★★★
()
Ответ на: комментарий от pihter

Объяснение в студию или будет как в прошлый раз!

Вики rest, restfull, json

grim ★★☆☆
()

Просто инструмент)) очень популярен. Если кто то гвозди отбойным молотком забивает, ну что сделаешь))

oblepiha_pie
()
Ответ на: комментарий от makoven

В студию CMS, работающую на JSON

Сейчас практически все умеют отдавать данные в json, даже SharePoint.

PS
Может только ПХП СМС не умеют json.

grim ★★☆☆
()
Ответ на: комментарий от erzent

знаю кучу бывших phpшников ушедших в руби. сейчас куда лучше пишут проекты, они меньше жрут ресурсов и при этом куда лучше выглядят и свёрстаны.

мантис начинает жрать больше jira, грузить базу данных, и тд из-за тупых sql инъекций, которые делают, как решения многих проблем, как мне объясняли.

в более менее крупном проекте на php, надо сразу делать уйму sql инъекций

erzent, ты случайно на перле не пишешь? У тебя что ни пост — то перл.

h578b1bde ★☆
()
Ответ на: комментарий от weare

Назовите мне хотя бы 5 серьезных проектов на PHP!

Популярные веб-приложения: Drupal, Typo3, Joomla, Wordpress — системы управления содержимым (CMS); Magento, osCommerce, OpenCart — системы для Интернет-коммерции; Coppermine, Gallery Project, 4images — галереи изображений; MediaWiki, DokuWiki — вики-движки; phpBB, SMF, vBulletin, Invision Power Board — форумные движки; phpMyAdmin, phpPgAdmin, Adminer — утилиты администрирования СУБД; eyeOS — удалённая операционная система, основанная на принципе Desktop Operating System. Думаю достаточно....

Odalist ★★★★★
()
Последнее исправление: Odalist (всего исправлений: 1)
Ответ на: комментарий от Shadow

О как, отказ от кук в пользу JSON... оригинально. И да, я хочу, чтобы бэкэнд пас сессию и отдавал JSON-ы только правильным запросам, а не кому попадя.

Кто вам мешает токен в куки или local storage положить?

grim ★★☆☆
()
Ответ на: комментарий от oblepiha_pie

Если кто то гвозди отбойным молотком забивает, ну что сделаешь))

ААААА!!!!! Нельзя так говорить!!

pihter ★★★★★
()
Ответ на: комментарий от pihter

Если язык позволяет делать биндинги к библиотекам на Си, то это язык общего назначения. Мало того, что пехепе умеет вызывать Си, он ещё и претендует на язык с поддержкой ООП, что как бы намекает на претензию быть языком общего назначения и отвечать моде мэйнстрима.

С Lua всё просто - гибок, лёгок, имеет биндинги к Си. Поэтому язык общего назначения. Вопрос про то, что он тормоз - вопрос второй и вопрос времени.

ну покажи программу управления CNC и текстовый редактор.

Видишь ли, текстовые редакторы и программы управления пишутся не пионэрами выскочками, а грамотными профи. А пехепе они для этих задач не возьмут :-) Но теоретически для прикола можно и на пехепе. :-)

anonymous
()

Не разрастётся. PHP-шники давно переросли уровень детских подначек

Просто их авторы не осилили нормально писать даже на нём, вот и комплексуют.

гениально...

anonymous
()
Ответ на: комментарий от anonymous

Если язык позволяет делать биндинги к библиотекам на Си, то это язык общего назначения

Если анону плевать на что нацелены авторы проекта и у него какие-то свои критерии, то это — неправильный анон, сломанный

Мало того, что пехепе умеет вызывать Си, он ещё и претендует на язык с поддержкой ООП, что как бы намекает на претензию быть языком общего назначения и отвечать моде мэйнстрима.

Бред. Разупорина три пачки, будьте добры!

С Lua всё просто - гибок, лёгок, имеет биндинги к Си. Поэтому язык общего назначения.

Lua is a powerful, fast, lightweight, embeddable scripting language.

Но теоретически для прикола можно и на пехепе. :-)

Теоритически, можно и на брейнфаке, только зачем? РНР - для веба, си — для скорости и утечек, питон — для склейки. Гипсокартон — перегородки строить

pihter ★★★★★
()
Последнее исправление: pihter (всего исправлений: 1)
Ответ на: комментарий от pihter

Если анону плевать на что нацелены авторы проекта и у него какие-то свои критерии, то это — неправильный анон, сломанный

Мне действительно плевать на что нацелены авторы пехепе, и у меня действительно свои критерии оценки языков программирования :-)

Теоритически, можно и на брейнфаке

В брэйфаке нет биндингов к Си. Поэтому нельзя даже теоретически.

РНР - для веба

Да? А не ты ли написал программулину на пехепе для уличения меня в безграмотности по поводу «фонат»? :-) Ты даже вон как умеешь им пользоваться, что доказывает (и показывает) области применения пехепе вне веба :-)

си — для скорости и утечек, питон — для склейки.

Обычные языки. Самый убогий - пехепе, конечно. Но не такой убогий, как цепепе. Но писать можно даже модули исправления орфографических ошибок :-)

anonymous
()

А что известно про компиляторы для PHP? Я слушал что Facebook имеет технологии для перевода сценариев в бинарные файлы?

weare ★★
()
Последнее исправление: weare (всего исправлений: 1)
Ответ на: комментарий от weare

А что известно про компиляторы для PHP? Я слушал что Facebook имеет технологии для переводы сценариев в бинарные файлы?

Нет больше сил слушать это всё :-)

anonymous
()
Ответ на: комментарий от anonymous

А что известно про компиляторы для PHP? Я слушал что Facebook имеет технологии для переводы сценариев в бинарные файлы?

Нет больше сил слушать это всё :-)

Правда, вроде даже новости были лет пять назад о публикации подобных технологий?

weare ★★
()
Ответ на: комментарий от weare

Правда, вроде даже новости были лет пять назад о публикации подобных технологий?

Верю. ХипХоп называется. Транслятор такой из пехепе в цепепе. :-) Лицокнижников задрало держать парк из 30000 серверов на пехепе и они придумали как из подмножества пехепе сгенерировать подмножество цепепе. Вот и весь хай-тек. :-)

anonymous
()
Ответ на: комментарий от anonymous

Правда, вроде даже новости были лет пять назад о публикации подобных технологий?

Верю. ХипХоп называется. Транслятор такой из пехепе в цепепе. :-) Лицокнижников задрало держать парк из 30000 серверов на пехепе и они придумали как из подмножества пехепе сгенерировать подмножество цепепе. Вот и весь хай-тек. :-)

Значит Facebook вычёркиваем из списка больших проектов на PHP! Тааак!

Шах и мат, пэхапэшники!

weare ★★
()
Последнее исправление: weare (всего исправлений: 1)
Ответ на: комментарий от pihter

если у вас есть знакомый программист на PHP

если у вас есть час жизни на чтение...

Если есть час жизни на чтение, то есть что почитать помимо, с прицелом на будущее и с перспективами развития как программиста.

его время постепенно уходит, как когда-то начал угасать Perl. Это прогресс, детка, и это хорошо

может и так, но с днем рождения можно и поздравить, ибо

спасибо «языку, предоставляющему вебшеллы на чужих серверах с 1997 года» за вклад в развитие веба

Можно. Я только за. Как ни крути, эпоха со своей особой атмосферой, культурой, противоречиями, мемами и её пеплом удобрена почва для будущих свершений.

anonymous
()
Ответ на: комментарий от Odalist

системы для Интернет-коммерции; osCommerce

Вот вспомнил, как это говно называется (очень давно это было). Вы его код видели? Это я ко всем php апологетам обращаюсь :)))

Судя по предыдущим постам, это неправильное использование инструмента, не так ли? Не знаю, такое же неподдерживаемое (в смысле легкости, способности к) все остальное из списка...

anonymous
()
Ответ на: комментарий от anonymous

Можно. Я только за. Как ни крути, эпоха со своей особой атмосферой, культурой, противоречиями, мемами и её пеплом удобрена почва для будущих свершений.

А также со своими флеймами, спорами, доказательствами фонатов с пеной у рта... Да, это просто эволюционный этап :-) Дальше будет интереснее :-)

anonymous
()
Ответ на: комментарий от anonymous

Теоритически

К Розенталю, быдло!

Признаю: был неверен. Человек, всего лишь. Стыдно, но бывает

pihter ★★★★★
()

Почему пхп называют языком с низким порогом вхождения? Или это такая отмазка, раз других преимуществ нет? Для начинающих так вообще разрыв мозга по количеству неочевидных вещей.

p.s.: да, похапэ не нужен

anonymous
()
Ответ на: комментарий от Gentooshnik

Говно ваше будущее. (про питон)

Похоже, не переросли.

Ах мы беспечные пыхапышники :)

// да оно висит на глагне уже сутки на первом месте, провоцирует. Вот сюда всякие аноны lua-веды и лезут

pihter ★★★★★
()
Ответ на: комментарий от anonymous

Самый убогий - пехепе, конечно. Но не такой убогий, как цепепе.

Ты слишком толстый, уходи.

anonymous
()

Мёртвая технология, поддерживающая своё зомби-существование за счёт поедания мозгов быдлокодеров.

anonymous
()
Ответ на: комментарий от Oxdeadbeef

Это обычное развитие стартапа. Если он успешен, он разрастается. Если он разрастается, можно либо продать бизнес, либо нанять мартышек, для сопровождения. А мартышки не только не умеют lisp, но и впадают в буйство даже когда слышат это слово.

seg-fault
()
Ответ на: комментарий от seg-fault

А мартышки не только не умеют lisp, но и впадают в буйство даже когда слышат это слово.

Сейчас придёт анонимный лисп-хейтер и будет чухать про успешность людей, которые пишут не на лиспе :-) В его словарный запас входят слова: «борщевик, маргинал и мамкин борщ». Будет чухать про Пайфон и цепепе :-)

anonymous
()
Ответ на: комментарий от anonymous

Если анону плевать на что нацелены авторы проекта и у него какие-то свои критерии, то это — неправильный анон, сломанный

Мне действительно плевать на что нацелены авторы пехепе, и у меня действительно свои критерии оценки языков программирования

Значит ты действительно сломанный анон. Тока я не только про РНР говорил. Под твой критерий (имеет биндинги к си, стало быть — язык общего назначения) попадают не только РНР и Луа, а вообще, почти все, стало быть у тебя вообще почти все — языки общего назначения и ты не признаешь специализацию. (Отвечай на это, имей аноновскую честь!)

В брэйфаке нет биндингов к Си. Поэтому нельзя даже теоретически.

Ну я ХЗ: в bash'е есть — он тоже язык общего назначения или, таки, специализируется на сценариях ОС?

РНР - для веба

Да? А не ты ли написал программулину на пехепе для уличения меня в безграмотности по поводу «фонат»?

Это был не я, это был другой pihter :)

А вообще, не лукавь: я изъебнулся хохмы для — обработка текста вполне себе вписывается в препроцессинг HTML. А пых, в первую очередь — шаблонизатор, который умеет в БД. То, что шаблонизатор умеет обработку текста не должно вызывать вопросов. То, что интерпретируемый язык умеет в вызов из консоли — тоже. Ты — совсем не глупый анон, и без меня это понимаешь, стало быть, мягко говоря — лукавишь.

си — для скорости и утечек, питон — для склейки.

Обычные языки. Самый убогий - пехепе, конечно. Но не такой убогий, как цепепе

ну шо за неудовлетворенность: анон, я же вижу, ты не дурак, но твоя тян не знает что ты понимаешь в психологии емаксовимосрачей и вообще, знаешь слово «биндинги». Твоя тян, думает, что ты — просто парень. Это тут ты крут, а тян думат, что раз ты не шаришь дом2 и не способен вытолкать старого алконавта из автобуса, где он всем надоел, но никто не решается показать яйца, то ты — просто парень, а совсем не МУЖЧИНА(в тянском понимании)

Короче, анон, ты меня задел той речью, которая в моей программе( то есть в программе парня с похожим ником), но С++ значит для мира ПО столько же сколько и Римски Папа для всего миллиарда католиков: оскорблять ЦПП — все равно, что оскорблять все на свете в мире ПО. Короче, теперь я буду тебя анализировать: ой, уже начал...

Я не говорю, что у тебя все плохо: у людей, с твоим интеллектом, обычно все хорошо, но проблемы у тя в душе есть, не будь я — Карлос Санчос!

pihter ★★★★★
()
Ответ на: комментарий от weare

А что известно про компиляторы для PHP? Я слушал что Facebook имеет технологии для перевода сценариев в бинарные файлы?

Первый хороший впорос от господина дотнетчика.

Я тоже слышал. Правда, зачем оно фейсбуку — понимать согласен, но зачем оно всем остальным — не очень

pihter ★★★★★
()
Ответ на: комментарий от KRoN73

лолшто? ты это про похапе сейчас сказал, да? $ в начале переменной, <? для шаблона. Слава господи в C# и JS такой хрени нет. Слава тебе господи, чти там нужно пользоваться собственным легковесным языком шаблонов, а не доказывать сеньору, что оно лучше, чем просто ставить <?php echo $хyzчереплечо?>

У нас сейчас 20 проектов на Node.js 10000 строк, 90% покрытие юнит-тестами. Какой нафиг write-only?

Как правило, такие языки ещё и рефакторятся очень тяжело.

попробуй зарефактори мне лапшебыдлоговнокод из PHP, HTML JS, CSS в одном файле без единого определения функции?

Зы. ес-но этот говносайт сдох вместе с фирмой.

PHP - это натуральный w/o (а еще лучше rwats язык недопрограммирования)

EnterpriseMobility
()
Ответ на: комментарий от anonymous

Нет больше сил слушать это всё :-)

Слышь, не сливайся! Тут только с тобой спорить интересно!

// даже Napilnik поразительно адекватен и немногословен... не в обиду, мужик

pihter ★★★★★
()
Ответ на: комментарий от weare

Шах и мат, пэхапэшники!

Расставь восемь ферзей на шахматной доске, так, чтоб ни один ферзь не угрожал другому. (Можно средствами дотнета, соурскод — приветствуется)

pihter ★★★★★
()
Ответ на: комментарий от pihter

А что известно про компиляторы для PHP? Я слушал что Facebook имеет технологии для перевода сценариев в бинарные файлы?

Первый хороший впорос от господина дотнетчика.

Я тоже слышал. Правда, зачем оно фейсбуку — понимать согласен, но зачем оно всем остальным — не очень

Оно ускоряет PHP в 5-9 раз. Пруф!

weare ★★
()
Ответ на: комментарий от anonymous

может и так, но с днем рождения можно и поздравить

Можно. Я только за. Как ни крути, эпоха со своей особой атмосферой, культурой, противоречиями, мемами и её пеплом удобрена почва для будущих свершений.

Вот с этим и спорить не осмелюсь: это очевидно. Понятно, что когда-то оно уйдет (более того — процесс пошел) когда-то и Си уйдет. И линукс уйдет. И неединая теория всего (квантовая и ОТО). Но я только за: если мне удастся хоть как-то поспособствовать общему прогрессу человечества — я помру с чистой совестью, вспоминая то сено, про которое Батька говорил.

pihter ★★★★★
()
Ответ на: комментарий от pihter

Под твой критерий (имеет биндинги к си, стало быть — язык общего назначения) попадают не только РНР и Луа, а вообще, почти все, стало быть у тебя вообще почти все — языки общего назначения и ты не признаешь специализацию.

Хватит с тебя этого скромного набора специальных языков: клиентский javascript, awk, sql, pl/sql, форт, ассемблер, make, cmake.

То, что интерпретируемый язык умеет в вызов из консоли — тоже.

А причём тут консоль? Посмотри на вышеперечисленный наборчик, там никакой консоли нет. Речь о языках.

оскорблять ЦПП — все равно, что оскорблять все на свете в мире ПО

Цепепе - самый убогий и самый мерзкий язык, который только можно себе представить :-) Хочешь научиться тому, как делать не следует - хорошенько изучи цепепе. Ну и напиши какую-нибудь либу на нём в течении годика-двух, соблюдая парадигмы ООП так, как они преподносятся автором цепепе и его корешами. Тогда и будешь рассказывать про цепепе :-)

anonymous
()
Ответ на: комментарий от anonymous

Судя по предыдущим постам, это неправильное использование инструмента, не так ли?

Судя по всему, в мой огород камень. Не знаю о чем речь (в смысле не смотрел исходники того, о чем говоришь), но уверен, что топор можно бы было использовать и грамотнее. Или использовать другой инструмент, если того требовала ситуация.

pihter ★★★★★
()
Ответ на: комментарий от KRoN73

Поддерживать проект хотя бы в 10 тыс. строк несколько лет спустя — неподъёмная задача

похапе?

write-only.

это оно?

if Length(PP.curdir)<36 then
   pt:=' '+PP.curdir+' '
   else pt:=' \...'+Copy(PP.curdir,Length(PP.curdir)-30,31)+' ';
Ptr:=PP.f_ptr;
if PP.vol='' then PP.vol:='No Label';
WriteString(1,cc+(40-length(pt)) div 2,pt,Pal[8]);
WriteString(22,cc+1+(cc*(34-length(PP.vol))) div 40,'['+PP.vol+']',Pal[7]);
if PP.vol='No Label' then  PP.vol:='';
{if PP.empty then exit;}
inc(ptr,sizeof(filrec)*row);
for i:=row to n+row do begin
    if (i <PP.files) and (not PP.empty) then 
       begin fname:=ptr^.filename;
       {if (ptr^.fileattr and 16) = 0 then StrLwr(fname);}
       if (Ptr^.fileattr and 2) <> 0 
          then fname[1]:=upcase(fname[1]);
       if ((Ptr^.fileattr and Hidden) <> 0) and (Pos('.',Fname)>0) 
          then fname[Pos('.',Fname)+1]:=upcase(fname[Pos('.',Fname)+1]);
       SortFIle(fname);
       for a := length(fname) to 11 do fname:=fname+' ';
       fname:=fname+'│';
       if (Ptr^.fileattr and 16) = 0
          then Str(Ptr^.filesize:10,pt)
          else if fname[1]='.' 
                  then pt:='�UP──-DIR�'
                  else pt:='�SUB─-DIR�';
       fname:=fname+pt+'│';
       DateTimeCnv(pt,Ptr^.filedttm);
       fname:=fname+pt;     {SetFattr}
       if Ptr^.selected then WriteString(2+i-row,cc,fname,Pal[1]) else
       WriteString(2+i-row,cc,fname,Pal[2]);
       inc(ptr,sizeof(filrec));
       end
       else WriteString(2+i-row,cc,'            │          │        │     ',Pal[1]);
      end;
    end;
procedure Put_File(PP:Panel;cc,row,x:word;active:boolean);
var
fname,pt:string;
{ptr:P_filrec;}
begin
if PP.empty then exit;
ptr:=PP.F_ptr;
inc(ptr,sizeof(filrec)*(row+x));
fname:=ptr^.filename;
{if (ptr^.fileattr and 16) = 0 then StrLwr(fname);}
if (Ptr^.fileattr and 2) <> 0 then fname[1]:=upcase(fname[1]);
if ((Ptr^.fileattr and Hidden) <> 0) and (Pos('.',Fname)>0) then fname[Pos('.',Fname)+1]:=upcase(fname[Pos('.',Fname)+1]);
SortFile(fname);
for a := length(fname) to 11 do fname:=fname+' ';
fname:=fname+'│';
if (Ptr^.fileattr and 16) = 0 then Str(Ptr^.filesize:10,pt)
else if fname[1]='.' then pt:='�UP──-DIR�'
     else pt:='�SUB─-DIR�';
fname:=fname+pt+'│';
DateTimeCnv(pt,Ptr^.filedttm);
fname:=fname+pt;
if active
   then If Ptr^.selected 
        then WriteString(2+x,cc,fname,Pal[3])
        else WriteString(2+x,cc,fname,Pal[4])
   else if Ptr^.selected
        then WriteString(2+x,cc,fname,Pal[1])
        else WriteString(2+x,cc,fname,Pal[2])
EnterpriseMobility
()
Ответ на: комментарий от anonymous

доказательствами фонатов с пеной у рта..

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

Кроме того, УЖЕ СВЕРШИВШЕЮСЯ роль РНР трудно отрицать. (невозможно — че там)

То, что ПЫХ уйдет когда-то и уступит место молодым — нисколько не печально: мир таков — мне мой наставник тоже уже пару лет дела сдает...

pihter ★★★★★
()
Ответ на: комментарий от anonymous

Почему пхп называют языком с низким порогом вхождения?

А потому что начинать просто: я первые старничке на РНР начал писать через пару часов после решения прочитай ХАУТУ по РНР.

Или это такая отмазка, раз других преимуществ нет?

Тогда твое объяснение такой популярности сабжа?

Для начинающих так вообще разрыв мозга по количеству неочевидных вещей.

Ну в студию же!

pihter ★★★★★
()

Объясните мне недалекому, я понимаю на какие средства совершенствуется Java и Dotnet, но на что жирует php не ясно.

Пахнет уклонением от уплаты налогов, легализацией средств нажитых преступным путем, незаконным оборотом наркотиков и так далее

weare ★★
()
Ответ на: комментарий от weare

Оно ускоряет PHP в 5-9 раз

И чо? Зачем ускорять коляску с ребенком? РНР — оно для маленького, ИМХО. Если заряд тротила ускоряет коляску с ребенком в 5-9 раз, я не возрадуюсь

pihter ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.