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)

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

7-мая версия на текущий момент находится на уровне с hhvm. http://habrahabr.ru/post/257237/

А ещё я слышал, что туда всё-таки планируют запилить JIT.

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

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

ЯННП — остальные, по-твоему, языки общего назначения? Или критерий сохраняется?

Цепепе - самый убогий и самый мерзкий язык, который только можно себе представить

Как по мне: естественное развитие Си — дитя своего времени. Точно так же как РНР в вебе вырос из Perl'а.

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

ну я процентов на 50 выполнил. Вполне себе деволен. В качестве низкоуровневых языков никто ниче уменее пока не придумал.

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

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

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

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

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

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

Так на PHP есть крупные проекты, сегодня их называли

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

Тогда Раби тебе должен понравиться.

Вне всякого сомнения: я вообще как книжку по технологии/языку прочитаю — оно мне нравится начинает. Все, по-своему, хорошо.

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

Зачем ты цитируешь от моего имени свое собственное сообщение? Тебе дотнетчики платят?

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

Так на PHP есть крупные проекты, сегодня их называли

Ну вот они пусть и заморачиваются подобным: это капли в море lamp'а

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

но на что жирует php не ясно

На это http://www.zend.com

Там какие то нереальные цены и не ясно, если Zend еще не PHP, зачем он нужен, и если PHP не может без платного Zend, откуда PHP берет деньги?

Так что такое Zend?

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

$ в начале переменной, <? для шаблона

Это плохо?

<?php echo

<?= же.

лапшебыдлоговнокод
в одном файле без единого определения функции

А причём тут PHP?

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

Ну х.з. Для больших проектов он может и подходит, вопрос в том, насколько хорошо. Тем не менее тырпрайз фреймворки написанные на пыхе существуют уже давно, например помимо зенда есть ещё Sensiolabs которые пилят Symfony например. Всё-таки не дураки же всё это делают.

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

Кстати выпилить бы вот эти вот теги и вообще красота была бы =). Только займутся они этим наверное только тогда, когда начнут переделывать SAPI (надеюсь нигде не ошибся). А так как про это пока ничего не было слышно, то скорее всего это произойдёт очень и очень не скоро.

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

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

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

ЯННП

похапе?

Говоришь про похапе и копипастишь кусок какой-то портянки, написанной школьником на паскале. Зачем?

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

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

pihter ★☆ (09.06.2015 19:23:20) представитель секты свидетелей искривления

Napilnik ★★★★★
()

Не в теме

Такой вопрос. Я не в теме по пхп, но раньше думал, что он хорош для всяких там встроенных систем. Интерпретатор нетребовательный + сервером легковесных под линух из коробки достаточно.

Как с этим сейчас дела?

Например зайти там в роутер и через вебморду поменять конфиги (что угодно)?

Как сейчас это делается?

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

<?= же

а теперь тебе нужно выслушивать 1 час лекций от сеньора, почему это - плохо.

А причём тут PHP?

90% сайтов на похапэ написано таким образом. не?

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

ЯННП — остальные, по-твоему, языки общего назначения? Или критерий сохраняется?

По ходу, действительно не понял. Даже Emacs Lisp - язык общего назначения, о чём сказано в его документации.

Как по мне: естественное развитие Си — дитя своего времени. Точно так же как РНР в вебе вырос из Perl'а.

Не только по тебе. Но это не дитя, а ублюдок, как и пехепе. Цепепе заставляет делать из мухи слона и решать несуществующие проблемы. Понуждает в поте лица корпеть над тупой рутиной, которую никаким хреном средствами языка не разрешить. Убогость шаблонов, упоротость семантики, проблемы разделения интерфейса и реализации и инклюдная унылость (благодаря потугам сохранения совместимости с Ц) делает этот язык ущербным.

В качестве низкоуровневых языков никто ниче уменее пока не придумал.

Вот именно, низкоуровневый, а толку мало. Потому то ядра и рантаймы пишутся только на Си, а не на Си++.

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

Ёмаё, так PHP готов для этэрпрайза, а что мне тут один лечит что это для маленьких?

Там какие то нереальные цены

У него просто денег нет, чтобы купить нормальных пых-разработчиков. Вот и лечит про всякие хипсто-руби за еду.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от EnterpriseMobility

а то, что быдлокод можно и как на похпэ пейсать, так и на поцКАЛЛе.

Да, можно. А можно и не писать.

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

Сейчас прибегут питонофанбои со своими django, flask и объяснят тебе, что это не так.

Как показала эта тема, теперь набегают фанбои JS :)

...

Я помню, как на PHP катили бочку Perl'овики. Потом — Python'исты. Потом — Ruby'сты. Теперь очередь дошла до JS :) Интересно, когда JS на сервере застабилизируется в узкой нише, как Django или RoR или вымрет как Perl, кто следующим катить бочку будет? :D

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

Сравниваешь со своей не распечатываемой припиской;)

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

а теперь тебе нужно выслушивать 1 час лекций от сеньора, почему это - плохо.

А в двух предложениях нельзя?

90% сайтов на похапэ написано таким образом. не?

Не могу утверждать, т.к. у меня нет доступа к исходникам бэкенда 90% сайтов на „похапэ”. Если у тебя есть, то ты, видимо, как-то связан с их разработкой.

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

Наверняка какие-нибудь Go-кодеры (хотя странно, что они ещё не объявились). Ну или ещё что-нибудь появится. Так или иначе PHP всех переживёт!

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

Вообще я плохо себе представляю, как на js можно спокойно писать бизнес-логику. Меня бы вырвало наверное только от одной мысли, что мне придётся это делать. КМК, максимум, на что оно годится, проксировать уведомления через веб-сокеты/etc. ИМХО.

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

Наверняка какие-нибудь Go-кодеры

Не... Go — другая ниша. Как Java или Си. Там свои срачи с Rush'ем и Swift'ом :)

...

В нише PHP можно бы было ожидать бодания с Lua, но почему-то на эту тему тихо. Кстати, ещё вспомнил — Groovy слился в этой области. Тоже прочили большое будущее. Даже кто-то LOR начинал переписывать на Grails :)

Что там ещё... Scala — это, скорее, к первому списку. Dart?

Haskell, похоже, так уже и не выстрелит. Erlang в Web'е не получился.

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

Вообще я плохо себе представляю, как на js можно спокойно писать бизнес-логику.

Примерно как на Perl'е. Только ещё более вольным стилем :D Гибкость потрясающая. Как у осьминога. Жаль, на суше без скелета жить нельзя...

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

Это вряд ли. Фортран никому не пережить.

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

Ну почему же, вебню на нём делают, средства есть для этого.

Lua

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

Dart

Клиентсайд же, не?

Про всё остальное не вижу смысла говорить. И так понятно, что в более менее широкие массы как питон или руби оно вряд ли попадёт.

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

Жаль, на суше без скелета жить нельзя...

Вот! Без скелета. Именно так я себе это и представляю. Очень тонко подмечено.

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

Lua

Не вижу связи

Считается (правда, уже не первый год) очень перспективным скриптовым языком. В т.ч. и Web-фреймворки есть: http://leafo.net/lapis/

Dart

Клиентсайд же, не?

JS тоже таким был :)

Я же просто угадать пытаюсь, что ещё могут начать активно продвигать. Дело неблагодарное, конечно...

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

В т.ч. и Web-фреймворки есть

Ух ты, интересно. Надо будет потыкать. Как там с производительностью? Оно так же как и PHP запускается или можно один раз запустить приложение и поставить перед ним nginx например?

Мне всё-таки кажется, что это будет Go.

Ещё забыли про D с его vibe.d упомянуть. Тоже интересная штука, всё никак не соберусь потыкать.

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

В нише PHP можно бы было ожидать бодания с Lua, но почему-то на эту тему тихо.

Насколько понимаю — нет. У lua другая ниша. Это встраиваемый интерпретатор

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

На одних процедурах далеко не уедешь. Если бы всё было так, то зачем все эти жавы и сисярпы с тоннами паттернов, фреймворков и библиотек?

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

Как там с производительностью?

Сфероконически вакуумная — говорят превосходная. Во что выливается на практике — не видел :)

На https://www.techempower.com/benchmarks/#section=data-r10&hw=peak&test... среди вариантов сырого соединения с БД раза в полтора быстрее PHP, на уровне Flask.

Оно так же как и PHP запускается или можно один раз запустить приложение и поставить перед ним nginx например?

Вот тут без понятия, не копался. Я к Lua не присматриваюсь, если менять PHP-платформу, то на что-то типа Go/Revel или Java/Play :)

Мне всё-таки кажется, что это будет Go.

У Go, вероятно, будет большое будущее. Но в других нишах, не особо похоже, что он будет сильно теснить PHP. Сейчас он захватывает в первую очередь нишу системного клея, управления всяких контейнерных систем и т.п. У того же Docker почти все сторонние инструменты — на Go. Наличие захваченной персональной ниши — уже во многом гарантия того, что язык приживётся. Полезет ли в область массового Web'а — посмотрим. Я буду рад, если полезет :)

Ещё забыли про D с его vibe.d упомянуть.

D умер не родившись. Он так и не нашёл себе специфическую нишу, в которой стал бы незаменим. И поэтому ему не откуда стартовать в другие области, в т.ч. в Web. А просто так, с нуля — шансов сегодня практически нет.

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

с тоннами паттернов, фреймворков и библиотек?

а ты так говоришь, как будто это плохо. Так что такое бизнес-логика? IF-THEN-ELSE, SELECT INSERT, UPDATE? И где здесь нужны паттерны?

На предыдущей работе да, мне давали по шапке, когда я на C# писал больше, чем просто SELECT/ EXECUTE SP - т.к. другие люди должны были уметь модифицировать именно хранимки (без перекомпиляции программы на C#/повторного деплоймента)

Почти вся бизнес-логика системы была на триггерах и хранимках.

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

бизнес логика должна быть в хранимках базы данных, не?

Бизнес логика, отвечающая за целостность данных - да.

anonymous
()

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

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

Объясните мне пожалуйста, что такое бизнес-логика?

Принял запрос, сделал проверки, пере/клауд, делал 3-4 записи в NoSQL базке с 1-2 проверками - это уже бизнес логика? или нет?

EnterpriseMobility
()

Мне очень нравится сама идея создания PHP

А до этого мне нравились dBase, FoxBase, Paradox, Clarion, Clipper, Visual Basic, Delphi...

Потому, как «пых-пых» «оттягивает» на себя студиоузов-«погроммистов» из стартапов типа «Рога и копыта»(С)(TM), которые бы иначе полезли в enterpriZe и мешались у меня под ногами.

Bioreactor ★★★★★
()
Последнее исправление: Bioreactor (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.