我已经阅读了很多关于捆绑包和Symfony2项目架构的不同内容,但是我还没有得出关于单个项目的最佳实践的结论,该项目与重用捆绑包无关原因是这是一个客户特定的项目。
该应用程序是一个大型网站,其中包含不同的部分,如新闻,博客,多步申请表,联系人,推荐书等。每个部分都需要后端和前端功能,例如,新闻文章可以由管理员在后端添加,可以在前端查看。后端将包含一些仅后端功能,例如管理员用户,并且将具有管理日志,该日志将记录每个管理员用户的活动,因此需要在每个后端部分中访问它。
我最初想过为每个部分设置不同的捆绑包,即AdminUserBundle,NewsBUndle,BlogBundle等,然后我才意识到有很多共享布局/模板和功能(例如AdminLog)。因此,您认为这种项目的最佳做法是什么?我想我有三个选择,但可以接受其他建议:
由于
答案 0 :(得分:1)
根据Symfony2文档:
在Symfony2中,bundle就像一个插件,除了你的应用程序中的所有代码都存在于一个bundle中。捆绑包只不过是一个包含与特定功能相关的所有内容的目录,包括PHP类,配置,甚至样式表和Javascript文件(参见捆绑系统)。
捆绑包应解决业务/功能问题。所以我认为第三个建议是一个很好的解决方案。
你可以拥有一个包含技术问题的CoreBundle,如全局表单类型,表单主题,自定义主题函数。此捆绑包不包含业务问题。
其他捆绑包应仅包含业务问题,例如新闻的捆绑包 Blog 另一个评论 ...
希望它有用。
最好的关注