
API в Symfony: типичные ошибки, которые ломают продакшен
Serializer в контроллере, отсутствие версионирования, N+1 в API-эндпоинтах и стектрейсы наружу — разбор частых ошибок при разработке REST API на Symfony 7.x и способов их исправить.

Serializer в контроллере, отсутствие версионирования, N+1 в API-эндпоинтах и стектрейсы наружу — разбор частых ошибок при разработке REST API на Symfony 7.x и способов их исправить.

Когда выделять функциональность в отдельный бандл, как правильно объявлять сервисы и конфигурацию, а где хватит обычной папки в src. Разбор на примере Symfony 6.4 и 7.x.

Как встроить кеширование в Symfony-приложение через компонент Cache: пул, теги, стемпид-защита. Разбираем, где очевидное решение даёт устаревшие данные и лишние промахи.

Три типа тестов в Symfony решают разные задачи и стоят разного времени выполнения. Разбираем, когда брать чистый unit, когда поднимать ядро через KernelTestCase, а когда гонять HTTP-запросы.

Консольная команда синхронизации каталога зависала на пятой минуте и падала по памяти на 200 тысячах товаров. Разбираем, где в Symfony Console ломается наивный подход и что с этим делать.

Symfony Form решает валидацию и рендер, но упирается в проблемы на реальных проектах: медленный рендер, конфликт с API, боль с коллекциями. Разбираем, какой подход выбирать.

Doctrine ORM удобна, пока проект небольшой. На реальной нагрузке всплывают N+1, ленивые загрузки в цикле и запросы, которые тянут пол-базы. Чек-лист, что проверить до релиза.

Разбор рабочих приёмов Symfony Messenger: очереди, транспорты, повторы, идемпотентность и типичные ошибки, из-за которых сообщения теряются или обрабатываются дважды.

Autowiring закрывает 90% случаев, но остаётся хвост: как внедрить один из двух одинаковых интерфейсов, передать скалярный параметр и не собрать десять зависимостей ради одного метода.

Разбираем, как превратить кусок логики из проекта в отдельный установочный Symfony-бандл: где ломается автозагрузка, как правильно регистрировать сервисы и что учесть при семантическом версионировании.

Разбираем рабочую конфигурацию PHPUnit для Symfony 7.x: отдельная БД для тестов, WebTestCase, изоляция транзакций и типичные ошибки, из-за которых тесты начинают падать через раз.

Тесты Symfony падают то в CI, то локально, гоняются по десять минут и всё равно пропускают баги. Разбираем частые ошибки в организации тестов и что с ними делать.