在 Laravel 5 中使用仓库设计模式

分享链接:http://blog.outyua.com/2017/Using-Reposito...

摈弃世俗浮躁,追求技术精湛
本帖已被设为精华帖!
本帖由系统于 6年前 自动加精
Summer
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 8
Summer

@ricoo 『懂得使用』跟『实战中是否使用』,是两个不同的概念哈。

6年前 评论
outyua

@ricoo 哈哈哈, 这是我在学习 https://github.com/andersao/l5-repository 这个仓库时翻译的文章, 我觉得 Eloquent ORM 其实已经做了一部分 repository 的工作, 大多数比较简单的CRUD 业务直接用 ORM 就可以了, 但是这种思想还是可以学习的 :laughing:

6年前 评论

非常好,多选一些高质量的技术文章

6年前 评论

@Summer 使用Repository,调用一个server,插入1000条数据,DB门面0.5秒左右,而调用server插入居然超时了

6年前 评论
  1. Repository模式是架构模式,在设计架构时,才有参考价值;

  2. Repository模式主要是封装数据查询和存储逻辑;

  3. Repository模式实际用途:更换、升级ORM引擎,不影响业务逻辑;

  4. Repository模式能提高测试效率,单元测试时,用Mock对象代替实际的数据库存取,可以成倍地提高测试用例运行速度。

评估:应用Repository模式所带来的好处,远高于实现这个模式所增加的代码。只要项目分层,都应当使用这个模式。

这是网上主流对 Repository 模式的理解。但我个人认为在PHP这门语言里如果非要用这种设计模式写代码,不如换java,这种代码量带来的分层好处大大拖累了PHP的快速开发的效率。可以手动分层,隔离一个小的 model 处理层,一样让逻辑职责易于区分,代码清晰。相比这种,有点恶心。哈哈,个人龊见。。。

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!