Вийшла нова версія мови програмування PHP. Реліз 8.0 готували протягом року, тож тут з'явилось чимало функцій і важливих оновлень. Зокрема деякі зміни порушують сумісність з іншими версіями (розробники також опублікували інструкцію для переходу з попередніх версій PHP).
То що нового у PHP 8.0:
- JIT-компілятор, який додав мові продуктивності (на деяких систетичних тестах швидкість зросла у 2–3 рази). Це найбільш корисно для математичних операцій чи для роботи з циклами даних в оперативній пам'яті. Натомість для типових вебзастосунків продуктивність буде приблизно така сама.
-
Підтримка union-типів, наборів з двох або більше типів, які вказують, що можна використати будь-який з них. Наприклад:
public function foo(Foo|Bar $input): int|float;
. -
Анотації (або атрибути). Тепер можна використовувати структуровані метадані з рідним синтаксисом PHP:
- Підтримка виразів 'match', які вміють повертати значення, роблять суворі (strict) порівняння типів без
break
і підтримують комбінування умов.
- Іменовані аргументи (Named Arguments), які дозоляють передавати аргументи у будь-якому порядку і ще визначати необов'язкові параметри.
-
Підтримка оператора nullsafe (?->)
-
Клас Weak Map і новий інтерфейс Stringable.
-
Лаконічний синтаксис для визначення класів, можна водночас оголошувати властивості та вказувати конструктор.
Про інші оновлення можна прочитати на сторінці релізу.
Ще немає коментарів