michelmelo/laravel-package-generator

0.0.1 2023-11-27 09:39 UTC

This package is auto-updated.

Last update: 2024-09-27 15:45:26 UTC


README

1. 简介

Laravel 包生成器可以通过单个命令为您创建一个示例包

它包含了许多功能,使您的业务能够快速扩展

  • 使用单个命令创建包。

2. 要求

  • Laravel: v9.X.X 或更高版本。

3. 安装

使用 composer 安装

转到 Laravel 的根目录,并运行以下命令

composer require michelmelo/laravel-package-generator

4. 摘要

设置完成后,您将看到一系列包命令,这些命令可以帮助您轻松地创建包。

以下是命令列表:

--force : 覆盖文件

--plain : 当您只需要目录结构模板时,传递此参数时不会包含文件

5. 使用方法

让我们从第一个命令开始

01. 创建新的包

此命令将为您生成创建包时以前需要手动创建的所有必要文件。

php artisan mmpackage:make ACME/TestPackage

例如,如果您想创建一个名为 'TestPackage' 的包,则可以使用以下命令:

php artisan mmpackage:make ACME/TestPackage

这将为您自动创建整个目录结构,因此您无需手动进行,如注册路由、视图等。

仅使用目录结构的新的包

如果您只想手动创建目录结构,则可以使用名为 'plain' 的可选参数。以下是一个示例:

php artisan mmpackage:make ACME/TestPackage --plain
使用 force 命令创建新的包

如果文件夹或包已经存在,则简单命令将不起作用。因此,为了解决这个问题,我们需要使用 force 命令。

php artisan mmpackage:make ACME/TestPackage --force

02. 创建新的控制器

此命令将为您的部分生成一个新的控制器。

php artisan mmpackage:make-controller TestController ACME/TestPackage
使用 force 命令创建新的控制器

如果控制器已经存在,则您需要使用 force 命令。

php artisan mmpackage:make-controller TestController ACME/TestPackage --force

03. 创建新的路由文件

如果您想创建一个路由,则必须使用此命令,然后在服务提供者中注册您的路由文件,即 'ACME\TestPackage\Providers\TestPackageServiceProvider'。

php artisan mmpackage:make-route ACME/TestPackage
使用 force 命令创建新的路由文件

如果路由文件已经存在并且您想覆盖它,则必须使用 force 命令。

php artisan mmpackage:make-route ACME/TestPackage --force

04. 创建新的模型类

此命令将创建以下文件:

  • 在 'packages/ACME/TestPackage/src/Models' 目录中创建新的模型类。
  • 在 'packages/ACME/TestPackage/src/Models' 目录中创建新的模型代理类。
  • 在 'packages/ACME/TestPackage/src/Contracts' 目录中创建新的模型合约。
php artisan mmpackage:make-model TestModel ACME/TestPackage
使用 force 命令创建新的模型

此命令将覆盖所有三个文件。

php artisan mmpackage:make-model TestModel ACME/TestPackage --force

05. 创建新的模型代理类

此命令将在 'packages/ACME/TestPackage/src/Models' 目录中创建新的模型代理类。

php artisan mmpackage:make-model-proxy TestModelProxy ACME/TestPackage
使用 force 命令创建新的模型代理

如果模型代理类已经存在,则可以使用 force 命令进行覆盖。

php artisan mmpackage:make-model-proxy TestModelProxy ACME/TestPackage --force

06. 创建新的模型合约

此命令将在 'packages/ACME/TestPackage/src/Contracts' 目录中创建新的模型合约。

php artisan mmpackage:make-model-contract TestContract ACME/TestPackage
使用 force 命令创建新的模型合约

如果模型合约已经存在,则可以使用 force 命令进行覆盖。

php artisan mmpackage:make-model-contract TestDataGrid ACME/TestPackage --force

07. 创建新的迁移类

此命令将在 'packages/ACME/TestPackage/src/Database/Migrations' 目录中创建新的迁移类。

php artisan mmpackage:make-migration TestMigration ACME/TestPackage

08. 创建新的种子类

此命令将在“packages/ACME/TestPackage/src/Database/Seeders”目录中创建一个新的播种类。

php artisan mmpackage:make-seeder TestSeeder ACME/TestPackage
使用强制命令创建新的播种类

如果播种类已经存在,则可以使用强制命令进行覆盖。

php artisan mmpackage:make-seeder TestSeeder ACME/TestPackage --force

09. 创建新的请求类

此命令将在“packages/ACME/TestPackage/src/Http/Requests”目录中创建一个新的请求类。

php artisan mmpackage:make-request TestRequest ACME/TestPackage
使用强制命令创建新的请求类

如果请求类已存在,则可以使用强制命令进行覆盖。

php artisan mmpackage:make-request TestRequest ACME/TestPackage --force

10. 创建新的中间件类

此命令将在“packages/ACME/TestPackage/src/Http/Middleware”目录中创建一个新的中间件类。

php artisan mmpackage:make-middleware TestMiddleware ACME/TestPackage
使用强制命令创建新的中间件类

如果中间件类已存在,则可以使用强制命令进行覆盖。

php artisan mmpackage:make-middleware TestMiddleware ACME/TestPackage --force

11. 创建新的数据网格类

此命令将在“packages/ACME/TestPackage/src/Datagrids”目录中创建一个新的数据网格类。

php artisan mmpackage:make-datagrid TestDataGrid ACME/TestPackage
使用强制命令创建新的数据网格类

如果数据网格类已存在,则可以使用强制命令进行覆盖。

php artisan mmpackage:make-datagrid TestDataGrid ACME/TestPackage --force

12. 创建新的仓库类

此命令将在“packages/ACME/TestPackage/src/Repositories”目录中创建一个新的仓库类。

php artisan mmpackage:make-repository TestRepository ACME/TestPackage
使用强制命令创建新的仓库

如果仓库类已存在,则可以使用强制命令进行覆盖。

php artisan mmpackage:make-repository TestRepository ACME/TestPackage --force

13. 创建新的服务提供者类

此命令将在“packages/ACME/TestPackage/src/Providers”目录中创建一个新的服务提供者类。

php artisan mmpackage:make-provider TestServiceProvider ACME/TestPackage
使用强制命令创建新的服务提供者

如果服务提供者类已存在,则可以使用强制命令进行覆盖。

php artisan mmpackage:make-provider TestServiceProvider ACME/TestPackage --force

14. 创建新的事件类

此命令将在“packages/ACME/TestPackage/src/Events”目录中创建一个新的事件类。

php artisan mmpackage:make-event TestEvent ACME/TestPackage
使用强制命令创建新的事件

如果事件类已存在,则可以使用强制命令进行覆盖。

php artisan mmpackage:make-event TestEvent ACME/TestPackage --force

15. 创建新的监听器类

此命令将在“packages/ACME/TestPackage/src/Listeners”目录中创建一个新的监听器类。

php artisan mmpackage:make-listener TestListener ACME/TestPackage
使用强制命令创建新的监听器类

如果监听器类已存在,则可以使用强制命令进行覆盖。

php artisan mmpackage:make-listener TestListener ACME/TestPackage --force

16. 创建新的通知类

此命令将在“packages/ACME/TestPackage/src/Notifications”目录中创建一个新的通知类。

php artisan mmpackage:make-notification TestNotification ACME/TestPackage
使用强制命令创建新的通知

如果通知类已存在,则可以使用强制命令进行覆盖。

php artisan mmpackage:make-notification TestNotification ACME/TestPackage --force

17. 创建新的邮件类

此命令将在“packages/ACME/TestPackage/src/Mail”目录中创建一个新的邮件类。

php artisan mmpackage:make-mail TestMail ACME/TestPackage
使用强制命令创建新的邮件类

如果邮件类已存在,则可以使用强制命令进行覆盖。

php artisan mmpackage:make-mail TestMail ACME/TestPackage --force

18. 创建新的命令类

此命令将在“packages/ACME/TestPackage/src/Console/Commands”目录中创建一个新的命令类。

php artisan mmpackage:make-command TestCommand ACME/TestPackage
使用强制命令创建新的命令类

如果命令类已存在,则可以使用强制命令进行覆盖。

php artisan mmpackage:make-command TestCommand ACME/TestPackage --force

19. 创建新的模块服务提供者类

此命令将在“packages/ACME/TestPackage/src/Providers”目录中创建一个新的模块服务提供者类。

php artisan mmpackage:make-module-provider TestServiceProvider ACME/TestPackage
使用强制命令创建新的模块服务提供者

如果模块服务提供者类已存在,则可以使用强制命令进行覆盖。

php artisan mmpackage:make-module-provider TestServiceProvider ACME/TestPackage --force