diouma / laravel-add-service
使用 artisan 命令在 Laravel 中生成服务和接口
Requires
- php: ^8.1
- illuminate/contracts: ^9.0
- spatie/laravel-package-tools: ^1.9.2
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
This package is not auto-updated.
Last update: 2024-09-22 22:47:57 UTC
README
此包增加了一个新的 php artisan make:service {name} {--N|noInterface}
命令。它将创建一个服务文件及其(接口),以便在 Laravel 框架中节省时间并从 服务模式 中受益。
安装
您可以通过 composer 安装此包
composer require diouma/laravel-add-service --dev
它是如何工作的?
安装后,命令 php artisan make:service {name} {--N|noInterface}
将可用。
创建服务文件
例如,命令 php artisan make:service createUser
将生成一个名为 CreateUserService.php
的服务文件,位于 app/Services/CreateUser
。
它还将生成一个名为 CreateUserContract.php
的接口,位于 app/Services/Interfaces
。
为模型创建服务
现在在创建模型时可以添加 --service
或 -S
选项。
例如,命令 php artisan make:model Book --service
或 php artisan make:model Book -S
将生成一个包含服务的模型。
命令 php artisan make:model Book --all
或 php artisan make:model Book -a
现在将生成模型、迁移、工厂、播种器、策略、控制器、表单请求和服务。
合同
添加 --noInterface
或 -N
选项将阻止命令实现任何合同,并且不会创建任何合同文件。
如果您从未需要任何合同,请发布配置文件,然后在配置文件中将 with_interface 的值设置为 false。
配置文件
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="service-add-config"
这是发布配置文件的内容
return [ 'with_interface' => true, ];
鸣谢
许可
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。