разделении проекта на модули используя симфони, контроллеры лучше хранить в каждом отдельном модуле в его инфраструктуре или контроллеры лучше вынести из модулей и например сложить просто в папку src/Controller/ModuleName?
Если вы хотите максимально разграничить контекст и четко провести границы - то логично для каждого контекста сделать отдельный модуль. Тогда в будущем вы его сможете очень просто вынести в отдельный сервис, по работе с этим контекстом.
Мы пришли к выводу, что лучше контроллеры не в модулях. Они как backend for frontend получаются и могут использовать данные разных модулей/контекстов
Сложный вопрос. Тебе у каждого контекста нужен интерфейс, контроллеры это, сервисы или чего ещё больше упирается в специфику взаимодействия. Есть скажем паттерн backend for frontend в рамках которого мы бы выносили api отдельно для каждого клиентского приложения. В этом случае апишка как бы живёт отдельно. Но есть варианты при которых это не нужно и зависимости между контекстами решаются через агрегацию как-то иначе. Жёстких правил тут нет, что удобнее в той или иной ситуации то и лучше. Главное следить за тем что бы границы контекстов не нарушались.
Обсуждают сегодня