<b>Symfony ломают не роуты, а сервис-контейнер и границы слоёв</b>
В боевом проекте Symfony чаще всего едет не на «сложности фреймворка», а на том, что в контейнер начинают складывать всё подряд: SQL, бизнес-логику, HTTP-детали и побочные эффекты. В итоге тесты хрупкие, а замена одного пакета цепляет полсистемы.
Что держать жёстко:
— контроллер тонкий: принимает запрос, вызывает use case, отдаёт ответ;
— доменная логика не знает про Request, Twig и Doctrine EntityManager;
— сервисы без скрытого состояния, особенно если их потом тянут в long-running процесс;
— интеграции прячьте за интерфейсы, а не за «удобные» фасады внутри проекта.
Отдельно следите за автоконфигурацией: она ускоряет старт, но легко маскирует лишние биндинги и магию с тегами. Когда сервис ведёт себя «сам», его трудно искать в дебаге и ещё труднее безопасно менять.
Если проект начал расти, проверьте контейнер и границы модулей раньше, чем появится очередной «временный» сервис. В Symfony архитектура редко падает сразу — она тихо превращается в ком, который потом дорого распутывать.
Laravel & PHP Deep — фреймворки и пакеты
@laravel_php_deep
<b>Symfony ломают не роуты, а сервис-контейнер и границы слоёв</b>
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.