存储库模式laravel的逻辑

时间:2016-01-04 13:01:50

标签: php laravel design-patterns repository-pattern

我正在学习使用Laravel框架。

我遇到了存储库,在几个网站上说是一个很好的开发实践。

我找到了一些帮助在Laravel中实现这种做法的软件包,但是错过了一些功能,但我认为我很难理解逻辑及其好处。

考虑到研究那部分,我创建了一个包,展示了如何思考这个实现,但我还有很多问题。

https://github.com/guilhermegonzaga/repository

例如:

范围和关系应该转移到存储库还是保存在模型中?

如何在存储库中实现类型函数"increment(), decrement()"?或者在控制器上调用它们是否正确?

$model = $repository->find($id);
$model->increment();

谢谢

1 个答案:

答案 0 :(得分:0)

您应该在模型中设置关系:

https://laravel.com/docs/5.1/eloquent-relationships

当您在回购中与模型交谈时,您可以根据需要提取关系信息。增量和减量应该在存储库中完成。

查看这篇快速文章,以便更好地了解您尝试使用存储库模式实现的目标:

http://culttt.com/2014/09/08/benefits-using-repositories/