我正在使用Symfony2开发一个应用程序,该应用程序有3个主要部分,称为frontoffice,backoffice,admin。我想创建三个单独的包:FrontOfficeBundle,BackOfficeBundle,AdminBundle但Symfony的文档说,每个包不应该彼此有任何关系。实体已经是共享属性,可能还有一些模型。我可以创建一个SharedBundle但它没有意义。我记得当我创建一个应用程序2年后,当我有15个捆绑并且彼此相互连接时,我从经验中知道它是一场噩梦。
我是否应该在文件夹中只有一个捆绑AppBundle和逻辑分割,例如。控制器/管理; Controller / FrontOffice,Controller / BackOffice?
最好的方法是什么?
答案 0 :(得分:1)
创建一个包没有什么坏处,所以为多个包中需要的东西制作一个单独的包,例如:我倾向于创建一个包含实体及其存储库(作为服务)的EntityBundle。
当然,您也可以使用单个AppBundle,但请不要将您的逻辑放入控制器 - >创建可重用的服务!将您需要的服务注入您的控制器(它本身也应该是服务)。
答案 1 :(得分:0)
没有最好的方法。
但是,我不想在目录中按类类型(Controller,Command,Form,Templates)进行分组,而是为每个请求操作创建一个“组件”目录。所以我会
Action
FrontOffice
BackOffics
Admin
User
UserController.php
UserFormType.php
UserTemplate.html.twig
以这种方式对文件进行分组确实可以减少查找各种文件的位置。这是“最好的”方法吗?不。但它对我有用。