yaza / laravel-repository-service
简单的 Laravel 仓库、服务模式
V5.0.1
2024-05-11 14:45 UTC
Requires
- php: ^8.2
- illuminate/contracts: ^10.0||^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
- spatie/laravel-ray: ^1.35
This package is auto-updated.
Last update: 2024-09-11 17:00:16 UTC
README
使用简单的仓库,您可以得到仓库模式的强大功能,而无需编写太多代码。该包自动将接口绑定到实现,您只需要在配置中更改当前使用的实现即可!
要求
- 最低 PHP ^8.2
安装
您可以通过 composer 安装最新版本的包
$ composer require yaza/laravel-repository-service
特定版本
# for laravel 10 $ composer require yaza/laravel-repository-service:"^4.0" # for laravel 9 $ composer require yaza/laravel-repository-service:"^3.2"
使用 (重要) 发布配置文件
php artisan vendor:publish --provider="LaravelEasyRepository\LaravelEasyRepositoryServiceProvider" --tag="easy-repository-config"
快速使用
您也可以使用 artisan 创建仓库、服务或两者都行
php artisan make:repository User // or php artisan make:repository UserRepository // or create together with a service php artisan make:repository User --service // or php artisan make:repository UserRepository --service // or create a service separately php artisan make:service User // or php artisan make:service UserService // or php artisan make:service UserService --repository // create service with blank template php artisan make:service UserService --blank
如何更改绑定接口到新的类实现
将此配置添加到 AppServiceProvider
$this->app->extend(Interface::class, function ($service, $app) { return new NewImplement($service); });
文档
注意:当您创建服务时,默认使用的 api 模板,在 api 模板中使用服务内部的数据设置获取,如何使用可以查看 src/Traits/ResultService.php,如果创建服务时需要空白模板,则需要添加参数 --blank,例如:php artisan make:service User --blank。
带有 api 模板的示例设置获取服务
// getter (on service called) $serviceName->getData() $serviceName->getCode() $serviceName->getMessage() $serviceName->getError() // setter (in service) $this->setCode() $this->setData() $this->setError() $this->setMessage()
更多详细信息将在版本 5 的文档中解释。
前往指南 文档 V5
变更日志
请参阅 变更日志 了解最近更改的更多信息。
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。