Представлен бета-выпуск новой ветки языка программирования PHP 8

Представлен бета-выпуск новой ветки языка программирования PHP 8

27.08.2020     

Опубликован тестовый выпуск PHP 8.0.0, Beta 2. Официальный релиз стабильной версии PHP 8 запланирован на 26 ноября. В нее будет внесен ряд критических изменений, функций и улучшений производительности.

PHP 8 предлагает набор новых функций, таких как JIT-компилятор, типы объединения, атрибуты и многое другое.

Новые возможности

JIT

PHP – это интерпретируемый язык: он не компилируется как программа на C, Java или Rust. Вместо этого он транслируется в машинный код во время выполнения. JIT – это метод, который компилирует части кода так, что вместо них можно использовать скомпилированную версию. Этот процесс можно описать как «кэшированную версию» интерпретируемого кода.

«Монитор» JIT будет анализировать код во время его выполнения. Если части кода выполняются повторно, он помечает их как «теплые» или «горячие», в зависимости от частоты. «Горячие» части можно скомпилировать как оптимизированный машинный код и использовать вместо оригинального. Это должно значительно увеличить производительность PHP при работе с повторяющимися кусками кода.

Демонстрация JIT с генерацией фракталов: https://youtu.be/dWH65pmnsrI

Атрибуты

Атрибуты в PHP – аналог аннотаций или декораторов в других языках. Они предлагают способ указывать полную информации о типе без необходимости синтаксического анализа. Атрибуты могут применяться к:

  • функциям (включая закрытие и короткое закрытие)
  • классам (включая анонимные классы), интерфейсы, черты характера
  • константам класса
  • свойствам класса
  • методам класса
  • параметрам функции / метода

Продолжаются споры по поводу принятого на текущий момент синтаксиса <<Attr>> – он считается слишком многосимвольным и сложночитаемым при использовании вложенных аннотаций. В качестве альтернативы предлагаются варианты: @@Attr, #[Attr], @[Attr], @:Attr или @{Attr}. Окончательный вариант пока не определен – на странице, посвященной синтаксису, проходит голосование, итоги которого будут подведены 2 сентября.

Выражение соответствия

PHP 8 представляет новое выражение match – эту функцию стоит использовать в качестве альтернативы switch. 

Синтаксис выражения match значительно короче, не требует заявления break, позволяет комбинировать условия, использует строгие сравнения типов и не выполняет приведения типов.

Продвижение свойств 

Когда параметр метода использован с одним из ключевых слов видимости public, protected или private, он считается «продвигаемым». Для каждого продвигаемого параметра будет добавлено свойство с тем же именем и переадресация этого свойства, включенного в тело конструктора, в соответствии с подробными правилами.

Отмена проверки наследования частных методов

Ранее в PHP применялись одинаковые проверки наследования к общедоступным, защищенным и частным методам. Частные методы должны были следовать тем же правилам подписи, что и защищенные и общедоступные методы. Это бессмысленно, поскольку закрытые методы не доступны дочерним классам.

Теперь проверка наследования не будет выполняться для частных методов. 

WeakMap

С помощью WeakMap можно организовывать карты «слабых ссылок» (ссылок на объекты, которые не предотвращают сборку мусора для этих объектов). Таким образом реализуется ресурсосберегающее кэширование объектов, не приводящее к утечкам памяти.

Завершающая запятая в списках параметров

В PHP 8 теперь поддерживается завершающая запятая при указании списка параметров в вызовах функций и конструкторах методов. Также завершающие запятые поддерживаются и в списке замыканий use.

ext-json доступен всегда 

PHP больше нельзя скомпилировать без включенного расширения JSON. Разработчикам теперь не требуется делать проверку, что расширение существует –  они смогут рассчитывать на присутствие JSON всегда.

Критические изменения

Ошибки согласованного типа

Пользовательские функции в PHP будут вызывать TypeError, а внутренние – нет, они теперь выдают предупреждения и возвращают null. 

Режим ошибки PDO по умолчанию

Ранее при возникновении ошибки SQL не выдавал предупреждения и не создавал исключения, если разработчик не реализует свою собственную явную обработку ошибок. Теперь режим PDO исправлен.

Разумный результат при сравнении чисел и строк

Исправление ситуации в PHP, когда 0 == "foo" давало результат true. 

Ожидания

Существует вероятность, что программистам потребуется внести некоторые изменения в свой код, чтобы он работал на PHP 8. Однако, обновление не должно вызвать сложностей, так как большинство изменений были уже реализованы в предыдущих версиях. 

Согласно плану выпуска следующую версию Beta 3 стоит ожидать 3 сентября. Это будет последняя бета перед основной стабильной версией PHP 8.0 в ноябре 2020 года. Следует отметить, что бета-версия не подходит для использования в продакшене и предназначена только для ознакомления.

Напомним также, что в июле представитель Microsoft заявил, что компания не собирается выпускать официальные сборки для PHP 8 и более поздних версий.


Полный список новых функций PHP 8

Полный список критических исправлений



Источник: https://infostart.ru/journal/news/tekhnologii/predstavlen-beta-vypusk-novoy-vetki-yazyka-programmirovaniya-php-8_1285214/
Автор:
Сергей Кравченко Обозреватель


Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. sikuda 644 28.08.20 09:17 Сейчас в теме
Ну когда же мы узреем JIT-компиляцию в 1С?
SKravchenko; +1 Ответить
Оставьте свое сообщение

См. также

В ближайшие годы возрастет потребность в персонале центров обработки данных

Новость Дата-центры ИТ-новость Цифровая экономика

Согласно отчету Uptime Institute, количество сотрудников, необходимых для обеспечения работы ЦОД, вырастет с 2 млн. в 2019 году до 2,3 млн. в 2025 году.

вчера в 15:30    1564    SKravchenko    0       

Google кардинально изменит дизайн Android 12

Новость Android Google ИТ-новость Мобильные приложения Новости компаний

Компания Google анонсировала глобальное обновление популярной операционной системы Android. Новая версия выйдет под номером 12. Говорят, что Android 12 назовут «Snow cone» – летний десерт из сладкого колотого льда.

вчера в 14:05    1787    mouse187    0       

Google представила новый сервис для поиска уязвимостей в открытом ПО

Новость Google Безопасность ИТ-новость

Компания Google запустила платформу с открытым исходным кодом OSV (Open Source Vulnerabilities). Она создана для поиска и закрытия уязвимостей в свободном ПО.

18.02.2021    1239    user1015646    0       

Отечественная компания представила сервер приложений Java EE

Новость ИТ-новость Новости компаний Языки программирования

Российская компания Bellsoft представила отечественный аналог сервера Oracle и IBM для JavaEE. Раньше продукт на базе открытого кода был доступен только для некоторых клиентов организации.

17.02.2021    2318    VKuser24342747    4       

Rustоманы из Долины: Google, Microsoft, Huawei, Mozilla и AWS основали фонд поддержки языка программирования

Новость Google ИТ-новость Новости компаний Языки программирования

Rust – перспективный язык, который широко применяется в разработке операционных систем и высоконагруженных веб-сервисов. Rust Foundation будет заниматься поддержкой и развитием языка.

16.02.2021    1571    user1015646    0       

В Microsoft Teams появилась платформа для общения и обучения

Новость Интернет ИТ-новость Мессенджеры Новости компаний

Microsoft добавила новые функции в корпоративный мессенджер Teams. В подключенной к нему платформе Viva можно пройти обучение, пообщаться с коллегами или улучшить организацию работы.

15.02.2021    3138    user1015646    0       

Google рассказала, как защищает Android от взломов

Новость Android Google Безопасность ИТ-новость

Google опубликовала информацию о том, как компания пытается улучшить безопасность Android, и какие шаги предпринимаются для борьбы с распространенными угрозами. Отчеты об уязвимостях играют в этом значительную роль.

12.02.2021    1860    SKravchenko    0       

Для регионов разработают приложение онлайн-записи на прием к врачам

Новость ИТ-новость Медицина Минкомсвязь Цифровая экономика

О возможностях приложения рассказали в Минздраве и Минцифре.

10.02.2021    1639    Senator_I    2       

Google разработает новую мобильную ОС

Новость MobileOS Google ИТ-новость Мобильные приложения

Корпорация Google создаст мобильную операционную систему для повышения безопасности использования устройств. Проект запущен под рабочим названием microdroid.

09.02.2021    2090    user1015646    0       

Google закрывает собственную игровую студию Stadia

Новость Google Видеоигры ИТ-новость Новости компаний

1 февраля Google официально закрыл собственную студию разработки игр для проекта Stadia, чтобы сосредоточить внимание на технологиях, лежащих в основе платформы.

09.02.2021    1416    SKravchenko    0       

Google представила технологию для замены cookies

Новость Google Интернет ИТ-новость

Методы сбора файлов cookies для повышения точности подбора рекламы не раз упрекали в нарушении личного пространства пользователей. Компания Google представила технологию, которая позволит отказаться от cookies и повысить уровень конфиденциальности.

09.02.2021    1217    user1015646    0       

Украинская команда FireWay одержала победу в хакатоне NASA Space Apps Challenge 2020

Новость ИТ-новость Стартапы

Украинская команда FireWay из Днепра стала победителем международного хакатона NASA Space Apps Challenge. Их изобретение было описано как «решение, которое демонстрирует наиболее инновационное использование технологии».

05.02.2021    1881    SKravchenko    2       

Китайцы разработали целых две альтернативы Flash

Новость Интернет ИТ-новость

Китайцам пришлось разработать собственную технологию ReFla взамен Flash для предотвращения сбоев в работе систем. Также они выпустили доработанную версию Flash Player с кодом 34.0.0.92.

04.02.2021    1986    mouse187    4       

Популярные дистрибутивы Linux могут лишиться поддержки Chromium

Новость Linux Google Интернет ИТ-новость

Из дистрибутивов Arch Linux, Fedora, Debian, Slackware и openSUSE может исчезнуть поддержка браузеров на движке Chromium. Причина – жесткие правила Google, из-за которых возникли проблемы с синхронизацией данных.

03.02.2021    2290    user1015646    3       

Microsoft участвует в разработке цифрового паспорта вакцинации от Covid-19

Новость ИТ-новость Медицина

Крупнейшие корпорации из сектора здравоохранения и ИТ-гиганты, такие как Microsoft, Salesforce и другие, объединились для создания цифровых идентификационных карт, которые подтверждают статус вакцинации против Covid-19.

02.02.2021    1696    capitan    3       

Что нового в Chrome 88: проверка надежности паролей и поддержка профилей

Новость Google Интернет ИТ-новость

Компания Google представила новый релиз браузера Chrome и обновила движок Chromium. Теперь ПО будет предупреждать о небезопасных паролях, а пользователь сможет создать привязанный к учетной записи профиль для персонализации работы в сети.

01.02.2021    2148    user1015646    0       

280 символов для науки: Twitter откроет доступ ученым к архиву твитов

Новость ИТ-новость Соцсети

Twitter предоставит академическим исследователям социальных сетей бесплатный доступ почти ко всем твитам. Исключение площадка сделает только для заблокированных аккаунтов.

29.01.2021    1435    VKuser24342747    1       

Отключение Flash на сутки лишило город железнодорожных служб

Новость Интернет ИТ-новость

Прекращение поддержки Flash парализовало работу железнодорожной сети китайского города-миллионника. Организация проигнорировала предупреждения Adobe о грядущем отключении технологии.

29.01.2021    1784    VKuser24342747    1       

Amazon представил форк Elasticsearch с открытым исходным кодом

Новость ИТ-новость Новости компаний Облачные технологии

Компания Amazon намерена развивать собственную версию решения для поиска, хранения и анализа данных Elasticsearch. Форк можно будет использовать в проектах с открытым исходным кодом.

28.01.2021    2201    user1015646    0       

Наниматели назвали самые востребованные языки программирования

Новость Аналитика ИТ-новость Языки программирования

Компания по обучению программистов CodinGame составила рейтинг самых востребованных языков программирования среди нанимателей. Для этого организация опросила 15 тыс. разработчиков и менеджеров по персоналу.

27.01.2021    2401    SKravchenko    1       

Вышел новый мировой стандарт Wi-Fi 6E. В России он не доступен

Новость ИТ-новость Телекоммуникации

В мире стартовало лицензирование и распространение устройств для работы с новым стандартом беспроводных сетей Wi-Fi 6E. В России стандарт не будет поддерживаться, поскольку частота в 6 ГГц уже занята.

26.01.2021    1982    user-programmist    2       

CES 2021: главные анонсы первой технологической выставки года

Новость Инновации ИТ-новость Микроэлектроника

CES (Consumer Electronics Show) в Лас-Вегасе традиционно открывает год на мировом рынке технологий. Из-за ограничений, связанных с пандемией, выставку провели онлайн, но это не помешало производителям представить интересные новинки.

25.01.2021    2451    user1015646    2       

Представлен GitLab 13.7: автооткат при сбоях и улучшенная проверка мердж-реквестов

Новость git Автоматизация ИТ-новость Новости компаний

Компания GitLab выпустила новый релиз платформы для работы с Git-репозиториями. В GitLab 13.7 добавили 45 новых функций, в том числе автоматический откат при сбоях и инструмент проверяющих для запросов на слияние.

22.01.2021    2316    user1015646    0       

Red Hat заменит CentOS бесплатной Red Hat Enterprise Linux

Новость Linux ИТ-новость

Red Hat в декабре объявила о прекращении поддержки CentOS 8 в 2021 году. Это вызвало волну негодования среди разработчиков, но теперь всё встало на свои места: компания представила бесплатные версии Red Hat Enterprise Linux для команд.

21.01.2021    3017    user1015646    0       

Российские исследователи представили новый фреймворк для работы с большими данными

Новость Аналитика Искусственный интеллект ИТ-новость

Специалисты Национального центра когнитивных разработок ИТМО представили платформу, которая упростит создание моделей технологических и бизнес-процессов. Она поможет принимать эффективные управленческие решения в условиях отсутствия полных данных.

21.01.2021    2284    user1015646    2