⚡ Що нового в PHP 7.4

У листопаді 2019 відбувся реліз версії PHP 7.4 і ми вирішили розглянути різницю в продуктивності, деякі найцікавіші доповнення і нові функції, які зроблять PHP ще швидше і надійніше.

🤘PHP 7.4 (офіційний реліз) доступний для всіх клієнтів HostPro. Завдяки підтримці Multiple PHP клієнти shared-хостингу можуть швидко і без проблем перемикатися між версіями.

Продуктивність в PHP 7

Цифри продуктивності, які наводять розробники, говорять, що версія PHP 7 показує себе значно швидше, в порівнянні з попередніми версіями. Ось декілька пунктів:

• Офіційні тести PHP продемонстрували, що PHP 7 дозволяє системі виконувати в два рази більше запитів в секунду в порівнянні з PHP 5.6.

• Переможець конкурсу інновацій PHP Крістіан Віг опублікував порівняння продуктивності PHP, де виявив, що версія PHP 5.2 на 400% повільніше, ніж PHP 7.

• У PHP 7.4 зменшився час виконання і використання пам’яті, в порівнянні з 7.3. Цифри ґрунтуються на запуску однакового завдання при однакових характеристиках:

7.3

Execution time: 0.614016 seconds
Memory usage: 360.000000 MB

7.4

Execution time: 0.528052 seconds
Memory usage: 360.000000 MB

• Версія WordPress 5.0 на PHP 7 може виконувати в три рази більше запитів в секунду, в порівнянні з PHP 5.6 — 253,20 req/sec проти 91 req/sec.

Що нового в PHP 7.4?

Оператор розвороту Speed Operator

У PHP 7.4 оператор розвороту […] (Spread Operator) став доступний для розпакування масивів, будучи альтернативою функції array_merge.

«Оператор розвороту повинен мати більшу продуктивність, ніж array_merge, завдяки тому, що компіляція може виконуватися для постійних масивів».

зазначено в оновленні.

Приклад роботи оператора розвороту:

$parts = ['мука', 'сахар'];
$fruits = ['банан', 'апельсин', ...$parts, 'состав'];
var_dump($fruits);

Якщо запустити цей код в версії PHP 7.3 або в іншій більш ранній версії, то буде помилка Parse error.

У версії PHP 7.4 буде повернено масив:

array(5) {
[0]=>
string(6) "банан"
[1]=>
string(6) "апельсин"
[2]=>
string(5) "мука"
[3]=>
string(4) "сахар"
[4]=>
string(10) "состав"
}

Стрілочні функції — Arrow Functions 2.0

У PHP 7.4 введений більш короткий і зрозумілий синтаксис стрілочних функцій, що значно полегшить ваш PHP-код. Новий синтаксис — поліпшення мови, яке дозволяє створювати більш читабельний і компактний код.

Код такого виду:

function cube($n){
return ($n * $n * $n);
}
$a = [1, 2, 3, 4, 5];
$b = array_map('cube', $a);
print_r($b);

В PHP 7.4 можна використовувати більш лаконічний синтаксис, і наведену вище функцію можна переписати таким чином:

$a = [1, 2, 3, 4, 5];
$b = array_map(fn($n) => $n * $n * $n, $a);
print_r($b);

Оператор об’єднання з NULL

У версії PHP 7 з’явився оператор coalesce [???], який буде корисний, коли знадобиться використовувати тернарний оператор і функцію isset () — він поверне перший операнд, якщо він заданий і не дорівнює NULL, або поверне другий операнд.

Клас WeakReference

З’явився клас WeakReference, що дозволяє зберігати посилання на об’єкт, не впливаючи на кількість посилань на нього і не перешкоджаючи знищенню самого об’єкта.

$weakRef = WeakReference::create($object);

Що означає PHP 7.4 для користувачів WordPress?

PHP — найпоширеніша мова програмування на стороні сервера. За статистикою W3Techs, під кінець 2019 року PHP використовує більше 78% всіх веб-сайтів, проте на даний момент більше 55% все ще продовжують використовувати застарілу версію PHP 5. Якщо додати до цього числа кількість користувачів, які використовують версію PHP 7.0 і 7.1, то виходить, що переважна кількість веб-проектів використовують непідтримувані версії PHP.

За статистикою розробників WordPress, більше 60% всіх сайтів WP працюють на непідтримуваних версіях PHP і тільки 13% перейшли на PHP 7.3. Що стосується версії PHP 7.4, то статистики по ній і зовсім ще не з’явилося.

Виходячи з представленої статистики, на PHP 5.6 все ще працює більше 20% сайтів.

Нагадаємо, що офіційні вимоги WordPress на кінець 2019 року:

  • Версія PHP 7.3 і вище;
  • MySQL версії 5.6 або вище або MariaDB версії 10.1 або вище;
  • Підтримка HTTPS.

Підсумок

PHP розвивається, вводить нові функції, додає швидкості і спрощує написання коду. Ми стежимо за всіма оновленнями і пропонуємо встановити офіційні версії PHP в один клік, не витрачаючи на це зусиль. Аби йти в ногу з часом і не наражати свій сайт на додаткові проблеми, не ігноруйте нові оновлення — тим більше, що встановлення не займе у вас багато часу.