Совсем скоро выходит PHP 8.5, и это именно та версия, где нет «вау»-революции, но есть куча приятных мелочей, которые сделают жизнь разработчика проще. Давайте разберёмся, что нового.
➡️ Pipe Operator
Теперь можно писать цепочки вызовов без временных переменных.
Код читается слева направо — и становится чище.
🛑 Атрибут #[NoDiscard]
Если функция возвращает значение, которое нельзя игнорировать — PHP предупредит. Это реально спасает от багов, когда кто-то «забыл» использовать результат вызова.
🔒 Closures в константах
Теперь можно использовать статические замыкания прямо в константах, свойствах по умолчанию и атрибутах. Отличный плюс для фреймворков с валидацией и метаданными.
🧰 Array helpers
array_first() и array_last() — наконец-то нормальные функции для получения первого и последнего элемента массива. Без возни с указателем.🏷 Атрибуты для глобальных констант
Теперь константы можно помечать метаданными (например, #[Deprecated]). Удобно для больших пакетов и конфигураций.
⚡️ Новый get_exception_handler()
Наконец-то можно посмотреть, какой exception handler у вас сейчас установлен. Полезно для фреймворков и глобальной обработки ошибок.
🌍 Intl List Formatter
Форматирует списки по правилам локали: "Lisbon, Porto, and Coimbra". Для интернационализации — находка.
🖥 Улучшения в CLI
php -i --diff — показывает, чем ваша php.ini отличается от дефолта.Константа
PHP_BUILD_DATE — точная дата сборки бинаря.Final Property Promotion — можно делать отдельные свойства final.
Чуть более удобные ошибки и варнинги в CLI.
😀 Это та версия, которая не ломает привычки, а аккуратно убирает шероховатости. Если вы пишете на PHP каждый день — разницу почувствуете сразу.
🙂 Вопрос к вам: какая из фич PHP 8.5 войдёт в ваш код первой?
