Наверх

PHP 8.5 приносит безопасный анализ URI и URL

Новая версия 30-летнего языка сервера добавляет оператор конвейера, постоянные дескрипторы cURL и другие функции, упрощающие разработку и повышающие безопасность приложений.

2.12.2025
20:16
PHP 8.5: безопасный анализ URI | DGL.RU

Основные идеи

PHP 8.5 добавляет расширение для безопасного анализа и модификации URI и URL
Введён оператор конвейера для удобного объединения вызовов функций в цепочку
Новые атрибуты #[\NoDiscard], #[\Override] и #[\Deprecated] усиливают контроль за кодом
Функции array_first() и array_last(), а также постоянные дескрипторы cURL упрощают работу с массивами и сетевыми запросами

Мнение автора

PHP 8.5 стал настоящим шагом вперёд для языка, которому уже 30 лет. Новые расширения и возможности вроде безопасного анализа URI, оператора конвейера и атрибутов #[\NoDiscard], делают код чище и безопаснее. Особенно полезны функции для работы с массивами и постоянные дескрипторы cURL, упрощающие серверные сценарии.

Программисты, вышла версия PHP 8.5. Она добавляет расширение для безопасного анализа URI и URL-адресов в серверный скриптовый язык, которому исполнилось 30 лет.

Крупное обновление выпустили 20 ноября, и оно уже доступно на сайте PHP.net. Расширение URI в этом апдейте доступно всегда. Оно предоставляет API для безопасного разбора и изменения URI и URL согласно стандартам RFC 3986 и WHATWG. Также в PHP 8.5 появился оператор конвейера.

Он позволяет объединять вызовы функций в цепочку без промежуточных переменных. Этот оператор заменяет множество вложенных вызовов последовательностью, которую можно читать слева направо. Кроме того, разработчики теперь могут обновлять свойства при клонировании объекта и передавать ассоциативный массив в функцию clone(). Это обеспечивает прямую поддержку шаблона with-er для классов, доступных только для чтения.

Разработчики на PHP 8.5 получили доступ к атрибуту #[\NoDiscard]. Если добавить его к функции, PHP проверит, использовали ли вы возвращаемое значение. Если нет — система выдаст предупреждение. Для намеренного игнорирования значения используют приведение типа (void). Кроме того, статические замыкания и вызываемые объекты первого класса теперь можно использовать в константных выражениях. Сюда входят параметры атрибутов, значения свойств и аргументов по умолчанию, а также константы.

PHP 8.5 также поддерживает постоянные дескрипторы cURL. В отличие от curl_share_init(), дескрипторы от curl_share_init_persistent() не удаляются в конце запроса. Если система находит постоянный дескриптор с тем же набором параметров общего доступа, она использует его повторно. Это исключает затраты на инициализацию cURL каждый раз. Функции array_first() и array_last() возвращают первое или последнее значение массива соответственно. Если массив пуст, вернется nul. Дополнительные возможности версии 8.5 включают следующее:

  • Атрибут #[\DelayedTargetValidation] может подавлять ошибки компиляции из-за атрибутов ядра и расширений, которые применили неправильно.
  • Фатальные ошибки, такие как превышение максимального времени выполнения, теперь включают обратную трассировку.
  • Атрибуты теперь могут ссылаться на константы.
  • Атрибут #[\Override] можно применять к свойствам.
  • Атрибут #[\Deprecated] можно использовать для констант и трейтов.
  • Статические свойства поддерживают асимметричную видимость.
  • Свойства можно помечать как final при продвижении в конструкторе.
  • Оператор обратных кавычек как псевдоним для shell_exec() устарел.

Лучшие новые телефоны на 2025 год: найдите свой следующий телефон!

Источник: Infoworld
Теги:
Подпишитесь на наши новости:
Нажимая кнопку «Подписаться», вы принимаете «Пользовательское соглашение» и даёте согласие с «Политикой обработки персональных данных»