Interested Article - История PHP

PHP/FI

Расмус Лердорф

В 1994 году датский программист (ныне живущий в Канаде ) Расмус Лердорф (Rasmus Lerdorf) создал набор CGI - скриптов на языке программирования C для вывода и учёта посетителей его онлайн - резюме , обрабатывающий шаблоны HTML -документов. Лердорф назвал набор Personal Home Page ( Личная Домашняя Страница ), но более часто упоминалось название "PHP Tools". Вскоре функциональности перестало хватать, и Расмус переписал PHP Tools, создав более крупную и богатую реализацию.

В июне 1995 года Расмус открыл исходный код PHP Tools общественности , что позволило разработчикам использовать его по своему усмотрению. Это также дало возможность пользователям исправлять ошибки в коде и улучшать его.

В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C — PHP/FI 2.0. Её использовали около 1 % (приблизительно 50 тысяч) всех интернет-доменов мира.

PHP 3

Энди Гутманс

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

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

Абсолютно новый язык программирования получил новое имя. Разработчики отказались от дополнения о персональном использовании, которое имелось в аббревиатуре PHP/FI и язык был переименован в PHP .

К концу 1998 года PHP использовался десятками тысяч пользователей. Сотни тысяч веб-сайтов сообщали об использовании языка программирования PHP. В то время PHP 3.0 был установлен приблизительно на 10 % веб-серверов Интернета.

PHP 4

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

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

Прекращение выпуска обновлений PHP 4 было запланировано на конец 2007 года . Однако вплоть до 8 августа 2008 года выпускались критические обновления безопасности. С 9 августа 2008 года всякая поддержка версии PHP 4.x была прекращена.

PHP 5

Пятая версия PHP была выпущена разработчиками 13 июля 2004 года . Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора . Введена поддержка языка разметки XML . Полностью переработаны функции ООП , которые стали во многом схожи с моделью, используемой в Java . В частности, введён деструктор , открытые, закрытые и защищённые члены и методы , окончательные члены и методы, интерфейсы и клонирование объектов. Нововведения, однако, были сделаны с расчётом сохранить наибольшую совместимость с кодом на предыдущих версиях языка. На данный момент последней стабильной веткой является PHP 5.6, которая содержит ряд изменений и дополнений:

  • Увеличена скорость работы, примерно на 10-20%
  • Введено пространство имён
  • Позднее статическое связывание и специальный метод __callStatic()
  • Лямбда-функции и замыкания
  • Добавление расширений: intl, phar, fileinfo и sqlite3
  • Опциональный сборщик мусора
  • Был написан драйвер MySQLnd для самой популярной у PHP разработчиков базы данных MySQL . С появлением нативного драйвера скорость работы с Mysql значительно увеличилась, также новый драйвер доступен уже в стандартной сборке(ранее это было невозможно из-за лицензии, связанной с libmysql)
  • Прекращение поддержки версий операционной системы до Windows 2000 ( Windows 98 , NT4, и.т.д.)
  • Новые синтаксические конструкции, такие как NOWDOC, ограниченный GOTO, короткий вид тернарного оператора «?:»

и другое.

PHP 6

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


PHP 7

В 2014 году было проведено голосование, по результатам которого следующая версия получила название PHP 7. Выход новой версии планировался в середине октября 2015 года. В марте 2015 года Zend представили инфографику , в которой описаны основные нововведения PHP 7 [ источник не указан 383 дня ] .

3 декабря 2015 года было объявлено о выходе PHP версии 7.0.0 [ источник не указан 383 дня ] .

Новая версия основывается на экспериментальной ветви PHP, которая изначально называлась phpng ( PHP Next Generation — следующее поколение ), и разрабатывалась с упором на увеличение производительности и уменьшение потребления памяти. В новой версии добавлена возможность указывать тип возвращаемых из функции данных, добавлен контроль передаваемых типов для данных, а также новые операторы [ источник не указан 383 дня ] .

PHP 8

PHP 8.0.0 был выпущен 26 ноября 2020 года.

Предыстория версии PHP 8 началась в 2015 году, когда был выпущен PHP 7.0. Это было крупное обновление, которое принесло множество улучшений и новых возможностей, в том числе значительное увеличение производительности и внедрение строгой типизации.

В 2016 году были выпущены две небольшие версии - PHP 7.1 и PHP 7.2, которые добавили новые возможности, такие как Nullable типы и функции согласования типов.

В 2018 году была выпущена PHP 7.3, которая принесла ряд новых функций, таких как поддержка групповых захватов в регулярных выражениях и функции `array_key_first()` и `array_key_last()`.

В 2019 году была выпущена PHP 7.4, которая добавила новые функции, такие как Typed Properties 2.0, Arrow Functions 2.0 и Weak References.

В 2020 году была выпущена PHP 8.0, которая является крупным обновлением и включает множество новых функций и улучшений, таких как JIT-компиляция, Union Types, Named Arguments, Attributes и другие.

Таким образом, PHP 8.0 - это последняя версия PHP на данный момент, которая представляет собой значительное обновление языка и принесла множество новых возможностей и улучшений.

Примечания

  1. Rasmus Lerdorf. (англ.) . @rasmus (20 июля 2012). Дата обращения: 28 ноября 2020. 3 января 2018 года.
  2. Rasmus Lerdorf. (англ.) (8 июля 1995). Дата обращения: 28 ноября 2020. 3 сентября 2006 года.
  3. ↑ (англ.) . Дата обращения: 28 ноября 2020. 1 февраля 2009 года.
  4. от 1 июля 2009 на Wayback Machine (англ.)
  5. (неопр.) . Дата обращения: 7 декабря 2009. 19 января 2007 года.
  6. от 12 декабря 2008 на Wayback Machine
  7. (неопр.) . Дата обращения: 7 декабря 2009. 18 апреля 2008 года.
  8. (неопр.) . Дата обращения: 7 декабря 2009. 12 августа 2006 года.
  9. (неопр.) . Дата обращения: 3 декабря 2011. 13 октября 2011 года.

Same as История PHP