我理解构建Symfony项目的方式和原因。我只是想知道/src
目标下是否有任何首选结构。在Controller
,DependencyInjection
,Entity
等旁边,您如何组织源代码?
只围绕Model
下的所有内容?将较大的逻辑批量分组为Service
,Model
,Job
等目标?有些人根据以下功能对文件进行分组
Order
,Product
,PopupManager
等。最有用的是什么?
答案 0 :(得分:1)
这个问题有很多答案。我认为这在很大程度上取决于您的申请涉及什么。以下是一些建议,但请记住,您需要自己想象应用程序的结构。
小项目(少于6个月,维护不太多):
.
├── Controller
├── Entity
├── Factory
├── Provider
├── Repository
├── Security
└── YourCustomThing
或者,如果您更喜欢域名方法(我这样做),您可以拥有更多类似的内容:
.
├── Product
│ ├── DTO
│ └── Model
└── User
├── Model
├── Provider
└── Security
如果您的应用程序更复杂,那么您应该了解DDD或CQRS。这是一个受DDD Cargo Sample启发的小DDD示例(但还有更多关于DDD应用以及CQRS应用的内容)。
.
├── Application
│ ├── Booking
│ │ └── Dto
│ └── Exception
├── Http
│ └── Action
├── Infrastructure
│ ├── Persistence
│ └── Product
│ ├── ActionFactory
│ └── BookingFactory
└── Model
└── Shop
希望它有所帮助。