PHP 8
- новая основная версия PHP выйдет 26 ноября.
Помимо существенных изменений, PHP 8 содержит несколько приятных новых функций, таких как JIT-компилятор, типы объединения, атрибуты и многое другое.
PHP 8 расширяет язык с помощью новых функций, направленных на объектно-ориентированный дизайн языка, типы и добавление недостающих удобств.
Вот некоторые из основных особенностей PHP 8:
- Теперь можно превращать объекты DateTime и DateTimeImmutable друг в друга.
- Приоритет в конкатенации
- Более строгие проверки типов для арифметических и побитовых операторов
- До PHP 8 можно было применять арифметические или побитовые операторы к массивам, ресурсам или объектам. В PHP 8 это вызовет ошибку TypeError.
- Добавлен класс PhpToken. Он потребляет меньше памяти и с ним легче работать.
- Определение именованных аргументов в вызовах функций и методов.
- Поддержка оператора Nullsafe для безопасного вызова методов для потенциально нулевых значений.
- Повышение свойств конструктора для сокращения шаблонов при определении и назначении свойств во время создания объекта.
- Изменение оператора throw в выражение throw.
- Новый интерфейс Stringable для классов.
- Поддержка статического возвращаемого типа.
- Наличие JIT компилятора в PHP обещает значительные улучшения производительности в работе программы. PHP JIT будет реализован как независимая часть OPcache. Его можно будет включать / выключать во время компиляции или выполнения скрипта.
Изменения в ошибках и их интерпретации на уровне ядра PHP 8:
- деление на ноль (DivisionByZeroError) теперь выбрасывает исключение вместо предупреждения,
- неопределенный индекс массива (Undefined array index): предупреждение вместо уведомления,
- неопределенная переменная (Undefined variable): ошибка вместо уведомления,
- преобразование массива в строку (Array to string conversion): предупреждение вместо уведомления.
Мы будем предоставлять новую версию на наших серверах и хостинге.