shamaseen/laravel-repositories

仓库模式文件生成器

2.2.3 2024-03-25 11:31 UTC

README

Build Status Scrutinizer Code Quality Code Intelligence Status

这是一个使用最佳实践和工具集好的Laravel仓库生成器,可直接使用。

这个包做什么?

  1. 生成文件的命令,包括仓库文件和其他文件。
  2. 强制执行单一职责原则
  3. 自动CRUD - 每次生成仓库时,它都会准备好CRUD。
  4. 自动查询搜索 - (当前端发送搜索GET参数时)
  5. 自动查询排序 - (当前端发送排序GET参数时)
  6. 自动查询过滤

简介

本包旨在为Laravel的仓库设计模式提供自动文件生成和基本类。

仓库模式强制你在控制器和模型之间使用仓库文件,作为一个容器,其中存储数据访问逻辑和业务逻辑。

MVC模式有什么问题?

MVC违反了SOLID原则中的单一职责原则,其中控制器方法负责业务逻辑,并同时在同一时间向前端用户返回响应,这使得无法重用这些方法或独立测试其中的业务逻辑。

这个包中的仓库设计模式是如何工作的?

当请求发送到Laravel应用程序后,它遵循以下步骤

  1. 路由捕获请求并将其重定向到控制器的相应方法
  2. 控制器然后使用正确的请求文件验证请求。
  3. 如果验证通过,控制器然后检查(如果有的话)策略授权。
  4. 如果通过,控制器然后调用仓库来检索所需数据。
  5. 仓库实现业务逻辑并调用模型从数据库检索所需数据。
  6. 仓库处理这些数据(如果需要)并将最终结果返回给控制器
  7. 控制器将数据传递给资源文件以按需格式化数据。
  8. 控制器最终将响应返回给用户。

repository_pattern.png

快速使用

运行

php artisan generate:repository Test

这将生成以下文件

  1. 测试 - (模型文件)
  2. TestController
  3. TestRepository
  4. TestRequest
  5. TestResource
  6. TestPolicy
  7. TestTest

ReadTheDoc上阅读完整文档。

许可证

MIT许可证

版本控制

我们遵循语义版本控制

路线图

  1. 添加从配置中禁用缓存的选项。