Ускорение работы и защита от null: представлен PHP 8.0
Ускорение работы и защита от null: представлен PHP 8.0

Вышла в релиз восьмая версия языка программирования PHP. Главные особенности – поддержка JIT-компилятора, появление оператора безопасного null и возможность создавать аннотации в IDE.
Что меняется
Сообщество разработчиков PHP пояснило, что главной целью релиза была оптимизация скорости выполнения языка и добавление новых возможностей. Появилась поддержка дополнительных функций, а часть уже имеющихся были объявлены устаревшими. Поэтому при переходе на версию PHP 8.0 стоит помнить, что некоторые изменения нарушают обратную совместимость с предыдущими версиями языка.
Для упрощения миграции с PHP 7.4.x на официальном сайте php.net создан специальный раздел с документацией, описывающей нововведения и возможные последствия их использования в коде для более старых версий.
Главные особенности PHP 8.0
JIT-компилятор. Разработчики еще в седьмой версии PHP признавались, что выжали максимум возможной производительности. Чтобы еще больше ускорить язык, необходимо использовать JIT-компилятор. Его поддержка реализована в восьмом релизе. Больше всего применение JIT скажется на выполнении математических операций.
Появление аннотаций. Больше не нужно писать PHP-код для фреймворка Symphony на языке комментариев. В восьмой версии появилась возможность при помощи # создавать описания метаданных, проводить рефакторинг и использовать функцию Find usages.
Nullsafe-оператор. Если функция может вернуть null, перед ее использованием необходимо убедиться, что этого не произойдет. Когда таких функций очень много, писать проверку для каждой из них крайне утомительно. В PHP 8.0 синтаксис можно упростить, использовав nullsafe-оператор ?->. Если хотя бы один из элементов последовательного вызова функций возвратит значение null, выполнение прервется, и вся цепочка вернет null.
Новый оператор выбора. Для выбора поведения кода из нескольких вариантов в зависимости от значения переменной традиционно используется оператор switch. Теперь вместо него можно применять выражение match, которое позволяет сократить запись. Но оно не полностью заменяет switch и имеет несколько отличий:
- Match является выражением, поэтому его результат может быть сохранен в переменной или возвращен.
- Условия match поддерживают только однострочные выражения, для которых не требуется управляющая конструкция break.
- Выражение match использует строгое сравнение.
Улучшение приведения строки к числу. При нестрогом сравнении строковых и числовых данных старые версии PHP всегда преобразовывают строку к числу. В восьмой версии языка строки и числа будут сравниваться как числа только в том случае, если строка представляет собой число (например, "42"). В противном случае число будет преобразовано в строку. Это одно из изменений, нарушающих обратную совместимость языка. К примеру, иногда для проверки пустой строки "" использовалось ее сравнение с 0. Теперь выражение 0 == "" даст false.
Источник: https://infostart.ru/journal/news/tekhnologii/uskorenie-raboty-i-zashchita-ot-null-predstavlen-php-8-0_1335400/
См. также
В ближайшие годы возрастет потребность в персонале центров обработки данных
вчера в 15:30 1563 SKravchenko 0
Rustоманы из Долины: Google, Microsoft, Huawei, Mozilla и AWS основали фонд поддержки языка программирования
16.02.2021 1571 user1015646 0
Украинская команда FireWay одержала победу в хакатоне NASA Space Apps Challenge 2020
05.02.2021 1881 SKravchenko 2
Microsoft участвует в разработке цифрового паспорта вакцинации от Covid-19
02.02.2021 1696 capitan 3
Что нового в Chrome 88: проверка надежности паролей и поддержка профилей
01.02.2021 2148 user1015646 0
280 символов для науки: Twitter откроет доступ ученым к архиву твитов
29.01.2021 1435 VKuser24342747 1
Представлен GitLab 13.7: автооткат при сбоях и улучшенная проверка мердж-реквестов
22.01.2021 2316 user1015646 0
Российские исследователи представили новый фреймворк для работы с большими данными
21.01.2021 2284 user1015646 2