加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

CakePHP:在哪里放置’服务’逻辑

发布时间:2020-05-25 08:29:32 所属栏目:PHP 来源:互联网
导读:我来自 Java / Grails背景,似乎无法在线找到关于Cake PHP应用程序的服务逻辑应该存储在何处的明确答案.通过“服务”,我谈论的是通常通过依赖注入实例化的类,以在域对象上执行业务逻辑.他们应该能够查询任何域对象并进行更改以响应控制器操作. 目前,CakePHP的

我来自 Java / Grails背景,似乎无法在线找到关于Cake PHP应用程序的服务逻辑应该存储在何处的明确答案.通过“服务”,我谈论的是通常通过依赖注入实例化的类,以在域对象上执行业务逻辑.他们应该能够查询任何域对象并进行更改以响应控制器操作.

目前,CakePHP的“Component”类似乎是最接近这种行为的.我可以将组件加载到任何控制器中并根据需要执行其方法.但是,我已经在几个地方读过,组件永远不应该访问数据库,这样做会导致一些陡峭的性能命中.

我也查看了CakePHP的“行为”类,它似乎根本不适合票.将域对象组织成数据结构设置似乎很有能力,但这不是服务执行的那种逻辑.此外,要将任何模型定义导入行为,我将不得不编辑模型定义本身以允许访问,这是非常尴尬的.

所以我问这个问题:服务逻辑应该存储在哪里?当然不是控制器,因为它应该只包含处理请求和发送响应的最小逻辑.

组件是CakePHP中的服务层.它们由依赖注入容器(Components Collection)构造,并传递要处理的控制器,请求和响应.

除了保持层之间的分离之外,组件可以做什么没有限制.可以直接从组件使用数据库连接或使用模型并修改请求.

如果您只对特定情况执行操作,则组件实际上非常轻量级.检查操作名称是限制组件范围的常用方法.您还可以注入设置,以便知道何时可以执行自定义服务逻辑.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读