我来自
Java / Grails背景,似乎无法在线找到关于Cake
PHP应用程序的服务逻辑应该存储在何处的明确答案.通过“服务”,我谈论的是通常通过依赖注入实例化的类,以在域对象上执行业务逻辑.他们应该能够查询任何域对象并进行更改以响应控制器操作.
目前,CakePHP的“Component”类似乎是最接近这种行为的.我可以将组件加载到任何控制器中并根据需要执行其方法.但是,我已经在几个地方读过,组件永远不应该访问数据库,这样做会导致一些陡峭的性能命中.
我也查看了CakePHP的“行为”类,它似乎根本不适合票.将域对象组织成数据结构设置似乎很有能力,但这不是服务执行的那种逻辑.此外,要将任何模型定义导入行为,我将不得不编辑模型定义本身以允许访问,这是非常尴尬的.
所以我问这个问题:服务逻辑应该存储在哪里?当然不是控制器,因为它应该只包含处理请求和发送响应的最小逻辑.