shamaseen / laravel-repositories
仓库模式文件生成器
2.2.3
2024-03-25 11:31 UTC
Requires
- php: ^8
- laravel/framework: >5.7
- shamaseen/laravel-files-generator: ^0.5
Requires (Dev)
- doctrine/dbal: >2.8
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.5
- dev-main
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.9
- 2.1.8
- 2.1.7
- 2.1.6
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1
- 2.0.1
- 2.0.0
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.11.8
- 0.11.7
- 0.11.6
- 0.11.5
- 0.11.4
- 0.11.3
- 0.11.2
- 0.11.1
- 0.11.0
- 0.10.0
- 0.9.0
- 0.8
- 0.7.0
- 0.6.0
- 0.5.0
- 0.4.0
- 0.3.0
- 0.2
- 0.1
- dev-specify_what_to_generate
- dev-testing
- dev-next
This package is auto-updated.
Last update: 2024-09-15 22:06:17 UTC
README
这是一个使用最佳实践和工具集好的Laravel仓库生成器,可直接使用。
这个包做什么?
- 生成文件的命令,包括仓库文件和其他文件。
- 强制执行单一职责原则
- 自动CRUD - 每次生成仓库时,它都会准备好CRUD。
- 自动查询搜索 - (当前端发送搜索GET参数时)
- 自动查询排序 - (当前端发送排序GET参数时)
- 自动查询过滤
简介
本包旨在为Laravel的仓库设计模式提供自动文件生成和基本类。
仓库模式强制你在控制器和模型之间使用仓库文件,作为一个容器,其中存储数据访问逻辑和业务逻辑。
MVC模式有什么问题?
MVC违反了SOLID原则中的单一职责原则,其中控制器方法负责业务逻辑,并同时在同一时间向前端用户返回响应,这使得无法重用这些方法或独立测试其中的业务逻辑。
这个包中的仓库设计模式是如何工作的?
当请求发送到Laravel应用程序后,它遵循以下步骤
- 路由捕获请求并将其重定向到控制器的相应方法
- 控制器然后使用正确的请求文件验证请求。
- 如果验证通过,控制器然后检查(如果有的话)策略授权。
- 如果通过,控制器然后调用仓库来检索所需数据。
- 仓库实现业务逻辑并调用模型从数据库检索所需数据。
- 仓库处理这些数据(如果需要)并将最终结果返回给控制器
- 控制器将数据传递给资源文件以按需格式化数据。
- 控制器最终将响应返回给用户。
快速使用
运行
php artisan generate:repository Test
这将生成以下文件
- 测试 - (模型文件)
- TestController
- TestRepository
- TestRequest
- TestResource
- TestPolicy
- TestTest
在ReadTheDoc上阅读完整文档。
许可证
MIT许可证
版本控制
我们遵循语义版本控制
路线图
- 添加从配置中禁用缓存的选项。