Дапамажыце dev.by 🤍
Падтрымаць

Релиз PHP 8.0

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

3 каментарыя
Релиз 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
Чытайце таксама
Python больш не самы папулярны на GitHub. Яго змяніў вельмі малады язык
Python больш не самы папулярны на GitHub. Яго змяніў вельмі малады язык
Python больш не самы папулярны на GitHub. Яго змяніў вельмі малады язык
7 каментарыяў
У Расіі лакалізавалі JavaScript
У Расіі лакалізавалі JavaScript
У Расіі лакалізавалі JavaScript
7 каментарыяў
JetBrains: кожнаму шостаму распрацоўшчыку ШІ эканоміць мінімум дзень на тыдзень
JetBrains: кожнаму шостаму распрацоўшчыку ШІ эканоміць мінімум дзень на тыдзень
JetBrains: кожнаму шостаму распрацоўшчыку ШІ эканоміць мінімум дзень на тыдзень
1 каментарый
IEEE: з-за ШІ стала немагчыма адсочваць папулярнасць моў, іх будучыня пад пытаннем
IEEE: з-за ШІ стала немагчыма адсочваць папулярнасць моў, іх будучыня пад пытаннем
IEEE: з-за ШІ стала немагчыма адсочваць папулярнасць моў, іх будучыня пад пытаннем

Хочаце паведаміць важную навіну? Пішыце ў Telegram-бот

Галоўныя падзеі і карысныя спасылкі ў нашым Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.