Что такое PHP ?

PHP  — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. Применяется для создания динамических веб-сайтов.

PHP 5 

В своё время выход PHP 5 был знаковым событием, в его основе использовалась новая объектная модель Zend 2.0, которая рано или поздно должна была появится из-за несовершенства Zend 1.0, а также более ранних версий PHP, нерационально использовавших память, поскольку объекты обрабатывались как примитивные типы (переменные, списки), то есть посредством копирования. 

В новой объектной модели, которая используется в Zend 2.0 используется технология объектных дескрипторов, напоминающая аналогичную технологию в Java. Теперь объекты доступны только через дескрипторы, позволяя экономить память и получать полный контроль над созданием и дублированием объектов.

Zend Engine 2 использует новый менеджер памяти. Два главных его преимущества:

  • Улучшенная поддержка многопоточных сред (распределенные блоки не нуждаются во взаимных исключительных блокировках) 
  • Более эффективный механизм освобождения распределенных блоков памяти.

Изменение коснулись производительности встроенных функций PHP. По различным оценкам, увеличение производительности достигает 40%.

Также отметим такие изменения, как новые механизмы работы с потоками, улучшенная поддержка XML и появление новых функциий.

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

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

PHP 7

Место Zend Engine занял PHPNG, который увеличил скорость обработки скриптов практически вдвое по сравнению с PHP 5.

Рефакторинг внутренних структур данных и добавление дополнительного этапа перед компиляцией кода в виде абстрактного синтаксического дерева — Abstract Syntax Tree (AST), привели к превосходной производительности и более эффективному распределению памяти.

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

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

Сравнение производительности PHP 5 и PHP 7




Tuesday, June 16, 2020

« Back