Релиз PHP 8.0
После года разработки представлен релиз языка программирования PHP 8.0, сообщает OpenNet. Он включает серию новых возможностей и несколько изменений, нарушающих совместимость.
После года разработки представлен релиз языка программирования PHP 8.0, сообщает OpenNet. Он включает серию новых возможностей и несколько изменений, нарушающих совместимость.
Ключевые улучшения PHP 8.0:
?
», который позволяет инициировать вызов, только если метод присутствует, что позволяет избежать лишних проверок на возврат значения null
.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
» будут приводить к ошибке.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.