Symfony ломают не роуты, а мелкие решения вокруг контейнера и сервисов
В Symfony чаще всего стреляют себе в ногу не на уровне контроллеров, а в местах, где растёт связность: сервис тащит в себя половину приложения, конфиг дублируется по окружениям, а DI-контейнер используется как «магия, которая сама разберётся».
Три проверки, которые экономят часы:
— сервис должен делать одну вещь и получать зависимости явно;
— конфиг лучше дробить по смыслу, а не по папкам «на всякий случай»;
— если класс невозможно создать без пяти моков, его пора резать на части.
Отдельно смотрите на границы домена: Messenger, Validator, EventDispatcher и Security в Symfony удобны ровно до того момента, пока их не смешивают в один слой. Как только обработчик начинает и валидировать, и писать в БД, и слать событие, отладка превращается в археологию 🧩
Если проект начал «течь» по поддержке, ищите не фреймворк, а места, где нарушена явная зависимость. В Symfony хорошая архитектура почти всегда читается по контейнеру: чем меньше сюрпризов при сборке сервиса, тем спокойнее живёт код.
Laravel & PHP Deep — фреймворки и пакеты
@laravel_php_deep
Symfony ломают не роуты, а мелкие решения вокруг контейнера и сервисов
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.