Php 存储库模式laravel的逻辑
我正在学习使用Laravel框架 我偶然发现了这些存储库,在几个网站上说这是一个很好的开发实践 我在Laravel中找到了一些帮助实现这一实践的包,但错过了一些特性,但我认为我没有很好地理解其逻辑及其好处 考虑到研究这一部分,我创建了一个包,展示了如何思考这个实现,但我仍然有很多问题 例: 范围和关系是否应转移到存储库或保留在模型中 如何在存储库中实现类型函数Php 存储库模式laravel的逻辑,php,laravel,design-patterns,repository-pattern,Php,Laravel,Design Patterns,Repository Pattern,我正在学习使用Laravel框架 我偶然发现了这些存储库,在几个网站上说这是一个很好的开发实践 我在Laravel中找到了一些帮助实现这一实践的包,但错过了一些特性,但我认为我没有很好地理解其逻辑及其好处 考虑到研究这一部分,我创建了一个包,展示了如何思考这个实现,但我仍然有很多问题 例: 范围和关系是否应转移到存储库或保留在模型中 如何在存储库中实现类型函数“increment(),decrement()”?或者在控制器上调用它们是否正确 $model = $repository->f
“increment(),decrement()”
?或者在控制器上调用它们是否正确
$model = $repository->find($id);
$model->increment();
谢谢您应该在模型中设置关系: 当您在回购协议中与模型交谈时,如果需要,您可以提取关系信息。增量和减量应该在存储库中完成 查看这篇快速文章,更好地了解您试图使用存储库模式实现的目标:
你想用你的
递增/递减方法实现什么?请检查“[我该如何问一个好问题?”()”例如,在显示产品的地方,增加我的模型中的“视图”列。这将创建我的模型与控制器的耦合,存储库的目的是解耦。谢谢。作用域也应该转移到存储库?我对作用域做得不多,但简单地看一下,这似乎是您希望避免在模型级别执行的操作,作为一项规则,您应该尝试将模式与存储库分离,以及将服务层与存储库分离。