ins0mniac / service-generator
该包提供生成服务和接口的命令,并在依赖容器中注册它们
Requires
- php: >=v7.3
This package is not auto-updated.
Last update: 2024-09-21 18:56:27 UTC
README
Laravel Service generator for Laravel applications
简介
服务生成器提供创建服务、接口和提供者以及注册依赖项到依赖容器的命令。
使用此包,您只需使用"artisan"命令即可生成新文件(服务、接口和提供者),就像创建控制器一样。无需在app.php文件中列出提供者。在app.php中列出提供者和注册依赖项的过程是自动化的。
以下列出的是可用的命令列表
特性
- 支持Laravel >= v8.0;
- 易于设置,无需额外配置;
- 易于使用;
- 专为方便开发人员工作而设计;
- 免费且始终免费。
官方文档
安装
您可以通过运行以下命令通过Composer安装此包
composer require ins0mniac/service-generator
注意:该包将自动注册自身。
命令
对于服务创建
普通服务
您可以使用以下命令生成普通服务(php文件)
$ php artisan create:service NameOfTheService
如果您未指定服务名称,Laravel将提示您输入它。
$ php artisan create:service
使用此命令,Laravel将生成包含所有必要属性(如命名空间、类名等)的新文件。该文件将在Services/*目录中生成(基于服务名称),因此如果您以Users/User
作为服务名称,服务文件将位于Services/Users
,名称为UserService
。
具有实现的服务
您可以生成实现了接口的服务
class NameOfTheService implements NameOfTheInterface
$ php artisan create:service NameOfTheService --interface NameOfTheInterface
或仅
$ php artisan create:service --interface
如果您未指定服务名称和/或接口名称,Laravel将提示您输入它们。
在您输入接口名称后,Laravel将询问您是否要在容器中注册依赖项。如果需要注册,只需键入y
并输入提供者名称(如果提供者不存在,则命令将创建新提供者并将其发布到app.php)。输入提供者名称后,您应指定注册类型 - 绑定或单例。
注意:此命令将创建新的服务文件,因此您不应该键入现有文件的名称!
在生成过程结束时,您将拥有
- 新的服务类(新文件);
- 实现了新或现有接口的服务类;
- 在新的或现有的提供者中注册了依赖项;
对于接口创建
仅接口
您可以使用以下命令生成仅接口(php文件)
$ php artisan create:interface NameOfTheInterface
如果您未指定接口名称,Laravel将提示您输入它。
$ php artisan create:interface
从新或现有服务生成接口并实现它
您可以从新或现有服务生成接口并实现它
class NameOfTheService implements NameOfTheInterface
$ php artisan create:interface NameOfTheInterface --service NameOfTheService
或仅
$ php artisan create:interface --service
如果您未指定接口名称和/或服务名称,Laravel将提示您输入它们。
在您输入接口名称后,Laravel将询问您是否要在容器中注册依赖项。如果需要注册,只需键入y
并输入提供者名称(如果提供者不存在,则命令将创建新提供者并将其发布到app.php)。输入提供者名称后,您应指定注册类型 - 绑定或单例。
在生成过程结束时,您将拥有
- 实现了新或现有接口的服务类;
- 在新的或现有的提供者中注册了依赖项;
对于提供者创建
仅提供者
您可以使用以下命令生成仅提供者(php文件)
$ php artisan create:provider NameOfTheProvider
如果您没有指定提供者名称,Laravel 将会提示您输入。
$ php artisan create:provider
生成或获取现有提供者,并在其中注册依赖。
您可以生成或获取现有提供者。
$ php artisan create:provider NameOfTheProvider --register
或仅
$ php artisan create:provider --register
如果您没有指定名称,Laravel 将会询问您。
在您输入提供者名称后,Laravel 将会询问您服务的名称、接口名称以及注册的类型 - 绑定或单例。
在生成过程结束时,您将拥有
- 实现了新或现有接口的服务类;
- 在新的或现有的提供者中注册了依赖项;
生成的文件示例
- 普通服务;
- 具有实现的服务的实现;
- 接口;
- 提供者;
- app.php 中的更改;
即将推出
下一个阶段将是向 create:service 和 create:interface 命令添加 --resource 选项。这将允许您生成具有资源方法(如 getAll()、findByKey(Model $model) 等)的文件。
许可
Laravel 服务生成器是开源软件,遵循 MIT 许可协议。