Содержание
Symfony 5 — это мажорная версия популярного PHP-фреймворка Symfony, выпущенная в ноябре 2019 года. Ключевые особенности: переход на PHP 7.2+ (с отказом от устаревших версий), улучшенный механизм кэширования, новая структура каталогов (упрощение), поддержка атрибутов (PHP 8), сервер разработки, внедрение рецептов Symfony Flex для управления конфигурацией, а также обновлённые компоненты. Symfony 5 — это шаг в сторону современной PHP-разработки с упором на производительность и удобство, без легаси-кода, который был в Symfony 4 и старше.
Что нового дала версия Symfony 5
Symfony 5 не была просто «очередным обновлением». Она ввела ряд изменений, которые сделали фреймворк более лёгким и быстрым.
- Требование PHP 7.2.5+ (и отказ от поддержки PHP 5 и 7.1). Это позволило использовать современные возможности PHP (типизация, атрибуты позже).
- Новая структура каталогов. Папка
src/стала чище, убраны лишние файлы. Появилась стандартная структура для конфигурации (config/packages). - Symfony Flex и рецепты. Установка пакетов через
composer requireавтоматически создаёт конфигурационные файлы (например,config/packages/doctrine.yaml). Это ускоряет настройку. - Улучшенный профайлер (Web Profiler). Добавлены новые вкладки, более подробная информация о запросах, памяти, очередях.
- Поддержка атрибутов (PHP 8). Можно определять маршруты, сущности Doctrine через
#[Route('/path')]вместо YAML/Annotations. - Встроенный веб-сервер для разработки (
symfony serve). - Улучшения в компоненте HttpClient и Mailer.
| Версия | Дата выпуска | Поддержка PHP | Статус (актуально на 2026) |
|---|---|---|---|
| Symfony 5.0 | Ноябрь 2019 | PHP 7.2.5+ | End of Life (ноябрь 2023) |
| Symfony 5.4 LTS | Ноябрь 2021 | PHP 7.2.5 – 8.2+ | Security fixes до ноября 2024 (актуальна, но лучше мигрировать) |
Что такое Symfony 5 LTS (Long-Term Support)
Наиболее важный выпуск в ветке Symfony 5 — Symfony 5.4 (LTS). LTS означает, что эта версия получала исправления безопасности в течение 3 лет (до ноября 2024). Многие компании остались на 5.4 LTS, так как она стабильна и поддерживает PHP 8.2. Однако в 2026 году рекомендуется переходить на Symfony 6.4 LTS или Symfony 7.4, так как поддержка 5.4 официально прекращена.
Если вы начинаете новый проект в 2026 году, используйте Symfony 6.4+ или 7.4+, не 5-ю версию.
Symfony 5 vs Symfony 4: ключевые отличия
Symfony 5 была «чистым листом» по сравнению с 4. Миграция с 4 на 5 была несложной, но требовала поднять версию PHP и удалить устаревшие пакеты. Главные отличия:
- Отказ от старых стилей конфигурации (например, использование
autowiringпо умолчанию). - Упрощённая структура
Kernel. - Удаление пакетов, которые были deprecated в Symfony 4.4.
Актуальность Symfony 5 в 2026 году
По состоянию на 2026 год, Symfony 5 (кроме версии 5.4 LTS) уже не поддерживается. Последняя версия 5.4 перестала получать обновления безопасности в ноябре 2024. Если ваш проект ещё на Symfony 5.4, вам настоятельно рекомендуется обновиться до Symfony 6.4 LTS или 7.4. Причины:
- Отсутствие патчей безопасности для 5.4 — риск компрометации сайта.
- Новые версии PHP (8.3, 8.4) имеют улучшенную производительность и типизацию, но Symfony 5.4 не полностью их поддерживает.
- Композер-пакеты (Doctrine, Twig, Monolog) перестают обновляться для старых версий Symfony.
Миграция с 5.4 на 6.4 потребует обновления PHP до 8.1+, замены устаревших методов (например, get('service') на typed service locator), но в целом не должна быть катастрофической.
Почему разработчики любили Symfony 5
В своё время Symfony 5 сделала PHP-разработку быстрее и приятнее. Её плюсы:
- «Быстрый старт» за счёт Symfony Flex — можно было создать проект за 2 минуты.
- Отличная документация с примерами для версии 5.
- Поддержка атрибутов PHP 8 (было новшеством).
- Скорость работы выросла за счёт оптимизации контейнера зависимостей.
Многие Open Source проекты (например, Sylius, EasyAdmin) вышли с поддержкой Symfony 5, что способствовало её популярности.
Что выбрать сейчас: Symfony 5 или более новую
Если вы читаете эту статью в 2026 году, ваш выбор — Symfony 7.4 (актуальная LTS) или 6.4 LTS. Использовать Symfony 5 для нового проекта — плохая идея, так как вы получите устаревший код, проблемы с совместимостью и риски безопасности.
Если ваш старый проект работает на Symfony 5.4, запланируйте обновление в ближайшее время. Не оставляйте его на 5.4, если проект содержит персональные данные или привязан к картам.
Symfony 5 — это история. Сегодня нужно смотреть в сторону Symfony 7.
Резюме от эксперта
Symfony 5 была важным этапом в развитии PHP-фреймворков, принесшим современные практики и отказ от легаси. Но в 2026 году она устарела. Если вы всё ещё на Symfony 5, срочно планируйте миграцию. Если начинаете новый проект, используйте Symfony 7.4 (или 6.4 LTS), они имеют более долгий срок поддержки и совместимы с современными версиями PHP. Не зацикливайтесь на старой версии — PHP и Symfony развиваются быстро, и отставание грозит проблемами с безопасностью и производительностью.
