Всем привет!
Это PHP Дайджест на канале CutCode. Давайте посмотрим, что произошло за прошедший месяц в мире PHP.
Новости PHP
Релизы PHP
Вышли PHP 8.4.11, PHP 8.3.25, выпуски с исправлением ошибок вышли по расписанию.
Также в начале месяца вышли PHP 8.2.29 и PHP 8.1.33.
В этих выпусках безопасности исправлены следующие уязвимости:
GHSA-hrwm-9436-5mv3 – Проверка наличия ошибок во время экранирования в модуле pgsql
GHSA-453j-q27h-5p8x – Разыменование указателя NULL в модуле PHP SOAP с помощью большого префикса пространства имен XML
GHSA-3cr5-j632-f35r – Нулевой байт завершения в именах хостов
PHP 8.5.0 Alpha 3
Все три альфа-версии PHP 8.5.0 вышли по расписанию. Заморозка функций произойдет 12 августа, поэтому некоторые изменения могут попасть в релиз.
Наиболее заметные изменения на данный момент:
Оператор конвейера (
|>)Модификатор
finalдля свойств, которые объявляются в конструктореНовые функции
array_first()иarray_last()Новый атрибут
#[\NoDiscard]Замыкания в постоянных выражениях
Языковая конструкция
clone with…и многое другое!
PER Coding Style 3.0
Вышла новая версия руководства по стилю кодирования PHP. Посмотрите руководство по миграции с PER-CS v2.0 на PER-CS v3.0.
Не могу пройти мимо четвертого раздела: «При использовании PHP 8.4 или более поздней версии скобки вокруг объявления new должны быть опущены» – поздравляю Валентина Удальцова с этим изменением.
Пых.конф
19 сентября в Москве в Центре Международной Торговли пройдёт новая PHP-конференция – Пых.конф.
Единственная в этом году профильная конференция в русскоговорящем IT-сообществе, которая целиком и полностью посвящена PHP.
В программе заявлено 28 докладов, вот некоторые из них:
Кирилл Несмеянов покажет, как писать десктопные приложения на PHP
Андрей Клименко (HappyJob) вскружит голову функциональным программированием
Александр Макаров (Twindo) расскажет про внутрянку Yii3
Дмитрий Edmond поделится прогрессом RFC True Async
Вадим Занфир (VK) научит имплементировать на PHP любые протоколы в неблокирующем стиле
Олег Мифле (Altenar) объяснит, зачем в PHP мьютексы
Алексей Солодкий (BelkaCar) поможет оптимизировать воркеры
Павел Иванов (HappyJob) обезопасит ваши Docker-образы
Александр Чередников (QTIM) построит для вас RAG-систему на PHP
Илья Рупасов (Битрикс) препарирует фреймворки тестирования
Переходите на сайт конференции и успейте купить билет по выгодным ценам.
Плагин Laravel Idea доступен бесплатно в PhpStorm
Адель Файзрахманов и Роман Пронский презентовали на Laracon 2025, что Laravel Idea теперь доступен для всех пользователей PhpStorm бесплатно!
RFC Updates
Большинство новостей ядра PHP подробно освещаются в серии PHP Core Roundup от PHP Foundation, мы лишь быстро по ним пробежимся:
❌ RFC: Single-Expression functions
Дмитрий Дерепко предложил синтаксис для объявления функций и методов с одним выражением в теле. Новый синтаксис упрощает написание лаконичных функций, улучшая читаемость и сокращая объем кода.
Предложение было отклонено.
✅ RFC: #[\DelayedTargetValidation] attribute
Daniel Scherzer предложил добавить атрибут #[\DelayedTargetValidation], который откладывает проверку допустимости целей атрибута до момента его использования, а не во время загрузки класса, что позволит писать более гибкие и переиспользуемые атрибуты, особенно в случаях, когда логика применения атрибута зависит от контекста, известного только во время выполнения.
Предложение было принято, новый атрибут появится в PHP 8.5.
❌ RFC: str_icontains
В PHP 8.0 появилась функция str_contains(), которая обеспечивает ясный и лаконичный способ определения, содержит ли строка заданную подстроку.
Adam Cable предложил добавить функцию str_icontains(), которая будет выполнять такую же проверку, но без учета регистра.
Предложение было отклонено.
