Фреймворк получил сразу несколько мощных улучшений, которые делают код чище, отладку проще, а работу — быстрее. Вот ключевые фичи релиза:
1️⃣ ObjectMapper: минимум шаблонного кода
Маппинг DTO → Entity теперь одной строкой:
$user = $mapper->map($dto, User::class);А обновление объекта — без боли:
$mapper->map($dto, $user);2️⃣ Пояснения решений Security Voter'ов
Теперь можно узнать почему отказано в доступе — Symfony выводит причины в профайлер и логи:
$vote?->addReason('Пользователь заблокирован и не может комментировать');3️⃣ JsonPath: запросы к JSON как XPath к XML
Новый компонент для извлечения и фильтрации JSON-данных:
$crawler->find('$.store.book[?(@.price < 10)]');Поддержка функций
length(), count(), match() и др.4️⃣ Статические страницы ошибок
Теперь можно сгенерировать HTML-страницы для ошибок (400–511) и отдать их напрямую из nginx:
APP_ENV=prod php bin/console error:dump var/cache/prod/error_pages/5️⃣ Server-Sent Events — просто
Реализовать стриминг событий на клиент стало легче:
yield new ServerEvent($job->toJson(), type: 'jobs');Без внешних библиотек и с нативной поддержкой.
🔗 Подробнее — в блоге Symfony.
Библиотека пхпшника #буст