最近手头有项目要重构,在纠结要不要用Repository的方式
如题目前遇到这个问题。
私底下考虑了好久,然后得出一个想法
给model
写trait
,把本该写在repository
里面的数据查询逻辑(脏代码),写在trait
里,想直接调用的方法可以写成静态的。
总之就是模型还是让其保持主要写定义属性
,常量
,属性的set
,get
方法,关联关系
等方法,CURD
的操作逻辑扔在trait
里面。
尝试了下,姑且好像没有问题,但是不知道有没有比较严重的坑,有前辈或者同僚对这个想法有啥意见欢迎给出意见
建议使用,trait本质我个人觉得是解决了PHP单继承以及类的部分组件重用问题。 仓库模式可以理解为,获取的数据仓库,你的数据并不一定是从Mysql中获取,如果是Redis叫?那个Repositorty就是做这多种聚合的,从而让Service处理业务逻辑而不用纠结于数据的处理,最后总结: 本质上:Reposiotry是针对数据的处理 Service:业务逻辑流程的处理 Model:(基本只用于针对于DB的),保存基本ORM关于,及内部一些属性
@hiword 好的,谢谢
我对仓库模式情有独钟,非常建议使用!