Релиз PHP 8.0

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

Оставить комментарий
Релиз PHP 8.0

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

Ключевые улучшения PHP 8.0:

  • Включение JIT-компилятора. PHP транслирует исходные тексты PHP-скриптов в промежуточное представление (байткод), которое затем выполняется в виртуальной машине Zend VM. JIT поможет дополнительно поднять производительность за счёт преобразования байткода в специфичный для аппаратной платформы машинный код, который может напрямую исполняться процессором, минуя интерпретатор байткода в Zend VM.
  • Поддержка именованных аргументов функций, позволяющих передавать в функцию значения в привязке к именам, т. е. можно передавать аргументы в произвольном порядке и определять необязательные аргументы.
  • При вызове методов разрешено применение оператора «?», который позволяет инициировать вызов, только если метод присутствует, что позволяет избежать лишних проверок на возврат значения null.
  • Поддержка union-типов, определяющих коллекции из двух и более типов.
  • Поддержка атрибутов (аннотаций), позволяющих привязать метаданные (например, сведения о типах) к классам без использования синтаксиса Docblock.
  • Поддержка выражений match, которые в отличие от switch могут возвращать значения, поддерживают комбинирование условий, используют строгое сравнение типов и не требуют указания break.
  • Сокращённый синтаксис определения классов, позволяющий объединить определение конструктора и свойств.
  • Новый тип возвращаемых значений static.
  • Новый тип mixed, который может применяться для определения приёма функцией параметров с разными типами.
  • Выражение throw для обработки исключений.
  • WeakMap для создания объектов, которыми можно пожертвовать при сборке мусора.
  • Возможность использования выражения :class для объектов (аналог вызова get_class ()).
  • Возможность определения в блоке catch исключений, не привязанных к переменным.
  • Возможность оставления символа запятой после последнего элемента в списке параметров функции.
  • Новый интерфейс Stringable для идентификации любых строковых типов или данных, которых можно преобразовать в строку (для которых доступен метод __toString ()).
  • Новая функция str_contains (), упрощённый аналог strpos для определения вхождения подстроки, а также функции str_starts_with () и str_ends_with () для проверки совпадений в начале и конце строки.
  • Добавлена функция fdiv (), выполняющая операцию деления без вывода ошибки в случае деления на ноль.
  • Изменена логика соединения строк. Например, выражение 'echo ''sum: ''. $a + $b' ранее интерпретировалось как 'echo (''sum: ''. $a) + $b', а в PHP 8 будет обработано как 'echo ''sum: ''. ($a + $b)'.
  • Ужесточена проверка арифметических и битовых операций, например, выражения «[] % [42]» и «$object + 4» будут приводить к ошибке.
  • Реализован стабильный алгоритм сортировки, в котором при разных запусках сохраняется порядок следования одинаковых значений.
  • Изменено поведение при сравнении строковых и числовых типов.
Собрали для вас скидки к Black Friday

Хотите сообщить важную новость? Пишите в Телеграм-бот.

А также подписывайтесь на наш Телеграм-канал.

Горячие события

LeverX Group Meetup: Брест, не пропусти встречу с iOS-экспертами!
2 декабря

LeverX Group Meetup: Брест, не пропусти встречу с iOS-экспертами!

Брест
Проектные менеджеры и бизнес-аналитики, налетайте: LeverX Group PM/BA-митап в Гомеле!
9 декабря

Проектные менеджеры и бизнес-аналитики, налетайте: LeverX Group PM/BA-митап в Гомеле!

Гомель
btc
Bitcoin
btc
$58 223,00
+2,23%
eth
eth
$4 633,79
+7,54%
usdt
usdt
$1,00
+0,64%
xrp
xrp
$1,01
+4,07%

Читайте также

Профессии, где больше всего нужен Python
Профессии, где больше всего нужен Python
Профессии, где больше всего нужен Python
Один из самых оплачиваемых языков программирования потерял важную часть команды. Она ушла в знак протеста
Один из самых оплачиваемых языков программирования потерял важную часть команды. Она ушла в знак протеста
Один из самых оплачиваемых языков программирования потерял важную часть команды. Она ушла в знак протеста
+46 тысяч беларусов на GitHub: вышел ежегодный отчёт State of the Octoverse
+46 тысяч беларусов на GitHub: вышел ежегодный отчёт State of the Octoverse
+46 тысяч беларусов на GitHub: вышел ежегодный отчёт State of the Octoverse
1 комментарий
Проджект-менеджмент, разработка ПО, SQL: самые востребованные языки, технологии и навыки среди американских работодателей
Проджект-менеджмент, разработка ПО, SQL: самые востребованные языки, технологии и навыки среди американских работодателей
Проджект-менеджмент, разработка ПО, SQL: самые востребованные языки, технологии и навыки среди американских работодателей

Обсуждение

Комментариев пока нет.
Спасибо! 

Получать рассылки dev.by про белорусское ИТ

Что-то пошло не так. Попробуйте позже