Комментарии 3
"Неистово плюсую"
Организация проекта таким образом дает невероятную гибкость. Напримр, позволит потом (если нужно) вынести какой-нибудь из модулей в отдельный сервис и отдать другой команде, например. А другие модули ничего об этом знать не будут.
Как всегда, дьявол кроется в деталях. Разделить код по папкам и завязать их в ядро не самая сложная задача, у вас она поучилась хорошо. Нужно еще не забыть тесты разделить по модулям.
Но вот как потом научить эти модули друг с тругом работать так, чтобы не росла связность?
Я предложил бы уже на старте добавить линтеров на проверку нарушения слоев, пусть это будет https://github.com/deptrac/deptrac или же на уровне psalm можно проверять целостность слоев. Иначе будет каше и беспорядочные связи в модулях
Переизобретение бандлов от которых в симфе отказались в рамках приложений? А вообще зачем в рамки модуля тащить инфраструктурные и интерфейсные слои? делите модули в рамках предметной области
Как сделать Modulith в Symfony