ins0mniac / service-generator

该包提供生成服务和接口的命令,并在依赖容器中注册它们

v1.0.0 2022-03-25 08:34 UTC

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 将会询问您服务的名称、接口名称以及注册的类型 - 绑定或单例。

在生成过程结束时,您将拥有

  • 实现了新或现有接口的服务类;
  • 在新的或现有的提供者中注册了依赖项;

生成的文件示例

即将推出

下一个阶段将是向 create:service 和 create:interface 命令添加 --resource 选项。这将允许您生成具有资源方法(如 getAll()、findByKey(Model $model) 等)的文件。

许可

Laravel 服务生成器是开源软件,遵循 MIT 许可协议。