PHP 8.1, объявленный крупным обновлением популярного языка сценариев для веб-разработки, был выпущен с широкими возможностями: от перечислений и свойств только для чтения до первоклассного вызываемого синтаксиса.
PHP 8.1 был выпущен 25 ноября. Исходный код и двоичные файлы Windows можно загрузить с php.net.
Перечисления или перечисления позволяют разработчикам определять собственный тип, ограниченный дискретным числом возможных значений. Согласно документации PHP, это может быть полезно при определении модели предметной области, «делая недопустимые состояния непредставимыми». В PHP случаи перечисления — это допустимые объекты, которые можно использовать везде, где может использоваться объект, включая проверки типов.
Другие новые функции и улучшения в PHP 8.1:
- Волокна предоставляют примитивы для реализации облегченного параллелизма.
- Благодаря первоклассному синтаксису вызываемых объектов замыкания для вызываемых объектов могут быть созданы с использованием синтаксиса
myfunc(…)
что идентичноClosure::fromCallable('myFunc')
. -
readonly
Модификатор свойства предотвращает изменение свойства после инициализации. - Производительность была улучшена за счет JIT-компилятора (как раз вовремя) для ARM64, кэша наследования, быстрого разрешения имен классов и улучшений итераторов файловой системы стандартной библиотеки.
- Благодаря инициализаторам объекты теперь можно использовать в качестве значений параметров по умолчанию, статических переменных и глобальных констант, а также использовать в аргументах атрибутов. Это эффективно позволяет использовать вложенные атрибуты.
- Типы пересечений можно использовать, когда значение должно одновременно удовлетворять нескольким ограничениям типа.
- Разработчики могут объявлять константы финального класса, поэтому их нельзя переопределить в дочерних классах.
- Теперь можно записывать восьмеричные числа с явным выражением
0o
префикс. - н
ever
тип возвращаемого значения указывает, что функция не возвращает значение. - Массивы можно распаковывать с помощью строковых ключей.
- Были представлены новые классы, функции и интерфейсы, включая атрибут для
#[ReturnTypeWillChange]
. - Передача значения null в неизменяемые внутренние параметры функции устарела.
PHP 8.1 почти на год последовал за выпуском PHP 8.0, который предлагал такие функции, как типы объединения и компиляцию «точно в срок». Также новым для PHP в этом месяце стало создание PHP Foundation, некоммерческой организации, призванной обеспечить долгую жизнь и процветание PHP, в которую входят такие члены, как JetBrains и Zend. Участники сделают пожертвования на оплату зарплат основных разработчиков PHP.
Дальше читайте это:
- Облачные вычисления больше не являются пустяком
- Что такое генеративный ИИ? Искусственный интеллект, который создает
- Программирование с помощью ИИ: советы и лучшие практики от разработчиков
- Python пытается удалить GIL и повысить параллелизм
- 7 причин, по которым Java по-прежнему хороша
- Война за лицензирование открытого исходного кода окончена