Wiki · Технологии разработки
Symfony
Symfony – это PHP-фреймворк и набор независимых компонентов с открытым кодом для разработки веб-приложений. Проект появился в 2005 году, его создал Фабьен Потансье, а поддерживает французская компания SensioLabs.
С кодом Symfony вы могли сталкиваться, даже не заказывая проект на нём: пакеты Symfony используют Laravel, Drupal и PrestaShop. А если подрядчик предлагает сделать на Symfony портал или кабинет для партнёров, полезно понимать, что это значит для поддержки, обновлений и поиска разработчиков.
Фреймворк, компоненты и бандлы
У Symfony две роли. Первая: полноценный фреймворк, на котором с нуля пишут приложение. Вторая: библиотека отдельных пакетов, которые подключают в любой PHP-проект. Нужна отправка писем, обработка HTTP-запросов или консольные команды? Берут один компонент, а не весь фреймворк:
composer require symfony/mailer
Эта строка добавляет в проект компонент отправки писем. Composer, менеджер пакетов для PHP, сам скачает код и всё, от чего он зависит.

Лицензия MIT разрешает бесплатно использовать фреймворк и компоненты в коммерческих проектах. По данным официального сайта, у проекта больше 3 000 контрибьюторов, а разработчиков на Symfony больше 600 000 в 120 с лишним странах.
Приложение собирают из бандлов, то есть подключаемых модулей, и отдельных пакетов. Шаблоны страниц обычно пишут на Twig, с базой данных работают через Doctrine: документация Symfony предлагает именно эти открытые проекты. Настройки лежат в файлах конфигурации и переменных окружения, поэтому один и тот же код разворачивают на тестовом и рабочем сервере с разными параметрами.
Для каких проектов выбирают Symfony
- Системы, которые будут развивать много лет: порталы, кабинеты для B2B-клиентов, внутренние сервисы компании.
- Проекты с большим числом интеграций: 1С, CRM, склад, платёжные системы, внешние API.
- Команды, которым важны строгая архитектура и предсказуемый график обновлений.
- Сайт компании, блог, типовой каталог. Такие задачи обычно закрывает без заказной разработки готовая CMS.
График версий и LTS Symfony
У Symfony жёсткий график. Минорные версии выходят каждые полгода, в мае и ноябре. Основные версии раз в два года, в ноябре нечётного года. Последняя минорная версия каждой ветки получает статус LTS (долгосрочная поддержка): ошибки в ней исправляют три года, уязвимости закрывают четыре года. Обычную версию поддерживают восемь месяцев.
| Версия | Что это | Поддержка |
|---|---|---|
| 7.4 | LTS, вышла в ноябре 2025 года, нужен PHP 8.2 и новее | ошибки до ноября 2028, безопасность до ноября 2029 |
| 8.1 | последняя стабильная, вышла в мае 2026 года, нужен PHP 8.4 и новее | до января 2027 |
Данные в таблице на октябрь 2026 года. Для бизнеса это удобно: переход на следующую LTS можно заранее положить в план и бюджет поддержки. После выхода следующей LTS предыдущая ещё год получает исправления ошибок, и этого времени хватает, чтобы спокойно обновиться.

Symfony и Laravel: что под какую задачу
Оба фреймворка бесплатные, работают на PHP и подходят для заказной разработки. Различаются они подходом.
| Ситуация | Symfony | Laravel |
|---|---|---|
| Нужен один компонент в готовый PHP-проект | Подключают отдельный пакет | Обычно используют как фреймворк целиком |
| Долгий проект с редкими крупными обновлениями | LTS: 3 года исправлений, 4 года безопасности | Версия раз в год, безопасность 2 года |
| Быстрый старт сервиса небольшой командой | Больше настройки и архитектуры на старте | Много готовых решений из коробки |
На практике выбор часто решает команда: проект удобнее вести на стеке, где у подрядчика есть опыт и люди. Подробнее о втором фреймворке в статье Laravel.
Версии, обновления и компоненты Symfony в работе
Для чего в проектах на Symfony используют Messenger?
Messenger отправляет тяжёлые задачи в очередь: письма, выгрузки и обмен с 1С выполняются в фоне, и посетитель не ждёт. Сообщения разбирает отдельный процесс-обработчик, а саму очередь хранят, например, в базе данных или в Redis.
Зачем Symfony-проекту Doctrine?
Doctrine – отдельный открытый проект для работы с базой данных, его документация Symfony предлагает по умолчанию. Таблицы в нём описывают классами-сущностями вроде «Заказ» или «Клиент», а изменения структуры базы хранят в миграциях и повторяют на любом сервере.
За что в экосистеме Symfony приходится платить?
Сам фреймворк и компоненты бесплатны по лицензии MIT, в том числе в коммерческих проектах. Платные бывают услуги вокруг него: обучение, сертификация разработчиков, коммерческая поддержка от компаний вроде SensioLabs. Основные расходы проекта всё равно уходят на работу команды.
Почему в папке vendor/symfony лежит код, если сайт на Laravel?
Laravel, Drupal и PrestaShop построены на компонентах Symfony, и Composer складывает их в папку vendor вместе с остальными зависимостями. Значит, сайт использует отдельные пакеты, а не весь фреймворк. Править файлы в vendor бессмысленно: при следующем обновлении зависимостей изменения сотрутся.
Symfony или Laravel: на чём делать кабинет для B2B-клиентов?
Если кабинет будут развивать много лет и он завязан на 1С, склад и CRM, удобнее Symfony: строгая архитектура и LTS-версии с поддержкой до четырёх лет. Если сервис нужно быстро запустить небольшой командой, проще Laravel. На деле решает ещё и то, на каком стеке у подрядчика есть люди.
Как проверить опыт подрядчика с Symfony?
Попросите показать проекты на Symfony и спросите, на какой версии они работают и когда запланирован переход на следующую LTS. Уверенный ответ про график поддержки скажет больше, чем список технологий в презентации. У SensioLabs есть официальная сертификация разработчиков, но опыт с похожими задачами важнее.
Как обновить проект с Symfony 5 до 7.4?
По одной основной версии за раз: 5.4, затем 6.4, затем 7.4. На каждом шаге сначала убирают все предупреждения об устаревших вызовах, которые Symfony пишет в журнал, и только потом переходят на следующую ветку. Заодно поднимают PHP: для 7.4 нужен 8.2 или новее, и это стоит проверить на хостинге заранее.
На какой ветке Symfony начинать новый проект?
Для системы, которую будут развивать годами, обычно берут 7.4 LTS: ошибки в ней исправляют до ноября 2028 года, уязвимости до ноября 2029-го, нужен PHP 8.2 и новее. Symfony 8.1 свежее, но её поддержка закончится в январе 2027 года. Она подходит, если команда готова переходить на новую минорную версию каждые полгода и сервер уже работает на PHP 8.4.
Найм, сервер и админка: что заложить в бюджет
- Найм. Нужен PHP-разработчик с опытом именно на Symfony. Специалист только по CMS будет долго входить в проект.
- Поддержка. Патчи ставят регулярно, а переход на следующую LTS закладывают раз в два года.
- Сервер. На хостинге нужны актуальная версия PHP и доступ по SSH для установки пакетов и запуска команд.
- Админка. Панель для контент-менеджера сама не появится, её проектируют и оценивают отдельно.
Как понять, что проект сделан на Symfony
По внешнему виду сайта этого обычно не видно. Признаки есть в репозитории: пакеты symfony/* в файле composer.json, консольная команда bin/console, папки config и src.
Где проекты на Symfony теряют поддержку и безопасность
- Запустить проект на обычной версии и забыть, что через восемь месяцев её перестанут поддерживать.
- Оставить на рабочем сервере режим разработки.
- Не закрепить в договоре передачу кода, доступов и документации. Заказной проект без них трудно передать другой команде.
Веб-приложения, кабинеты и интеграции мы проектируем и делаем в услуге Разработка сайтов. Если проект уже работает на Symfony, берём его на доработку и поддержку: доработка существующего сайта и техническая поддержка.
Документация и сайт Symfony
- Symfony: официальный сайт, раздел о проекте и страницы версий 7.4 и 8.1
- Symfony: документация, порядок выпуска и поддержки версий
- Symfony: репозиторий фреймворка и лицензия MIT
- SensioLabs: материалы к 20-летию Symfony
Остались вопросы по теме «Symfony»?
Напишите нам в Telegram или MAX. Ответит специалист, который отвечает за эту тему, или руководитель проектов в рабочее время.
Отвечает по темеСергей ЧерняковWeb-разработчикНад статьёй работали
Услуги
Услуги по теме
Посчитайте стоимость проекта за 2 минуты
Калькулятор соберёт смету по нашим тарифам: сайт, дизайн, интеграции и поддержка.
