我已经阅读了很多关于 bundle 和 Symfony2 项目架构的不同内容,但是我还没有就与重用 bundle 等无关的单个项目的最佳实践得出结论。原因是这是一个客户特定的项目。
该应用程序是一个大型网站,具有不同的部分,例如新闻、博客、多步骤申请表、联系人、推荐等。每个部分都需要后端和前端功能,例如新闻文章可以由管理员在后端添加并可以查看在前端。后端将包含一些仅限后端的功能,例如管理员用户,并且将有一个管理员日志,该日志将记录每个管理员用户的活动,因此需要在每个后端部分中都可以访问它。
在我很快意识到有很多共享的布局/模板和功能(例如 AdminLog)之前,我最初考虑为每个部分使用不同的包,即 AdminUserBundle、NewsBUndle、BlogBundle 等。因此,您认为此类项目的最佳实践是什么?我想我有三个选择,但可以接受其他建议:
- 1 个捆绑包,包含 Controller、Views、Tests 等中的后端和前端目录。
- 3 个捆绑包 - CoreBundle、FrontendBundle 和 BackendBundle,其中 CoreBundle 将包含所有共享功能,例如 Entities、AdminLog 等。
- 每个部分都有一个包,其中包含控制器、视图、测试等中的前端和后端目录。即 NewsBundle 将包含新闻实体,并将包含前端和后端控制器、视图和测试。BlogBundle 将包含博客实体和前端和后端控制器、视图、测试等。
谢谢