Релиз PHP 8.0
26 ноября 2020
PHP 8.0 вышел в релиз и доступен для загрузки.
Основные нововведения PHP 8:
-
JIT-компиляция (Just In Time Compilation)
PHP 8 представляет два механизмаJIT-компиляции. Трассировка JIT (Tracing JIT), наиболее перспективная из них, на синтетических бенчмарках показывает улучшение производительности примерно в 3 разаи в 1,5—2 раза на некоторых долго работающих приложениях. Стандартная производительность приложения находится на уровнеPHP 7.4. -
Объединённые типы (Union Types)
Возможность использовать объявления для объединённых типов, проверяемые во время выполнения, вместоPHPDoc-аннотаций. - Именованные аргументы (Named Arguments)
-
Выражение match (Match Expressions)
Новое выражение match, похожее на оператор switch со следующими особенностями:
— Match — это выражение, его результат может быть сохранён в переменной или возвращён.
— Условия match поддерживают только однострочные выражения, для которых не требуется управляющая конструкция break.
— Выражение match использует строгое сравнение. -
Атрибуты (Attributes)
Возможность использовать структурные метаданные с нативным синтаксисом PHP вместоPHPDoc-аннотаций. -
Объявление свойств в конструкторе (Constructor Property Promotion)
Меньше шаблонного кода для определения и инициализации свойств. -
Оператор nullsafe (Nullsafe Operator)
Возможность использовать последовательность вызовов с новым оператором Nullsafe вместо проверки на null. Когда один из элементов в последовательности возвращает null, выполнение прерывается и вся последовательность возвращает null. -
Улучшенное сравнение строк и чисел (String to Number Comparison)
При сравнении с числовой строкой PHP 8 использует сравнение чисел. В противном случае, число преобразуется в строку и используется сравнение строк. - И многое-многое другое…
Кстати,