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

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了CakePHP:在哪里放置’服务’逻辑脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我来自 Java / Grails背景,似乎无法在线找到关于Cake PHP应用程序的服务逻辑应该存储在何处的明确答案.通过“服务”,我谈论的是通常通过依赖注入实例化的类,以在域对象上执行业务逻辑.他们应该能够查询任何域对象并进行更改以响应控制器操作.

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

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

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

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

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

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

脚本宝典总结

以上是脚本宝典为你收集整理的CakePHP:在哪里放置’服务’逻辑全部内容,希望文章能够帮你解决CakePHP:在哪里放置’服务’逻辑所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。