Ноябрь 2025 года принёс PHP-разработчикам сразу два больших релиза: 20 ноября вышел PHP 8.5, а 27 ноября — Symfony 8.0 вместе с долгосрочной версией Symfony 7.4 LTS.
Что нового в PHP 8.5
- Pipe-оператор
|>— цепочки преобразований читаются слева направо, без вложенных вызовов. - Расширение URI — встроенный разбор и нормализация адресов по RFC 3986 и WHATWG URL вместо капризного
parse_url(). - Clone with — можно клонировать объект и сразу изменить свойства, что удобно для readonly-классов.
- Атрибут
#[\NoDiscard]— предупреждение, если результат важной функции проигнорировали. array_first()иarray_last()— наконец-то безreset()иend().
$slug = $title
|> trim(...)
|> strtolower(...)
|> (fn ($s) => preg_replace('/[^a-z0-9]+/', '-', $s));
Symfony 8.0 или 7.4 LTS
Symfony 8.0 требует PHP 8.4 и выше. Он убирает всё, что было помечено устаревшим в ветке 7.x, и активнее использует современные возможности языка. Symfony 7.4 содержит те же новые функции, но сохраняет обратную совместимость и получает долгосрочную поддержку.
- Новый проект — смело начинайте на Symfony 8 и PHP 8.5.
- Живой продукт на 6.4 или 7.x — сначала переходите на 7.4 LTS, а дальше можно спокойно планировать 8.x.
План обновления
- Обновите проект до последней минорной версии своей ветки и до PHP 8.4.
- Включите логирование deprecation-предупреждений и устраните их — в Symfony 8 эти вызовы просто удалены.
- Прогоните Rector с наборами правил для PHP и Symfony, а затем статический анализ (PHPStan).
- Обновите сторонние бандлы. Чаще всего проблемы именно здесь.
- Поднимите версию Symfony в
composer.json, прогоните тесты и проверьте сценарии вручную на стейджинге.
Мы много лет ведём проекты на Symfony и регулярно обновляем их между мажорными версиями. Оценим обновление вашего проекта.