定制 devops-future/laravel-sub-package-generator 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

devops-future/laravel-sub-package-generator

Composer 安装命令:

composer require devops-future/laravel-sub-package-generator

包简介

Bagisto Package Generator

README 文档

README

It was based on bagisto package generator. Modified "portal" to "portal" for global using...

1. Introduction

Bagisto Package Generator will create a sample package for you with a single command

It packs in lots of demanding features that allows your business to scale in no time:

  • Create package with a single command.

2. Requirements

  • Bagisto: v1.1.2 or higher.

3. Installation

Install with composer

Go to the root folder of Bagisto and run the following command

composer require bagisto/bagisto-package-generator

That's it, now just execute the project on your specified domain.

4. Summary

After setting up, you will see that there are list of package commands which help you to make your package creation smooth.

Below are the list of commands,

S. No. Commands Info Required Arguments Optional Arguments
01. package:make Create a new package. package-name --force, --plain
02. package:make-admin-controller Create a new admin controller. controller-name, package-name --force
03. package:make-admin-route Create a new admin routes file. package-name --force
04. package:make-portal-controller Create a new portal controller. controller-name, package-name --force
05. package:make-portal-route Create a new portal routes file. package-name --force
06. package:make-model Create a new model class. model-name, package-name --force
07. package:make-model-proxy Create a new model proxy class. model-proxy-name, package-name --force
08. package:make-model-contract Create a new model contract. model-contract-name, package-name --force
09. package:make-migration Create a new migration class. migration-name, package-name
10. package:make-seeder Create a new seeder class. seeder-name, package-name --force
11. package:make-request Create a new request class. request-name, package-name --force
12. package:make-middleware Create a new middleware class. middleware-name, package-name --force
13. package:make-datagrid Create a new datagrid class. datagrid-name, package-name --force
14. package:make-repository Create a new repository class. repository-name, package-name --force
15. package:make-provider Create a new service provider class. provider-name, package-name --force
16. package:make-event Create a new event class. event-name, package-name --force
17. package:make-listener Create a new listener class. listener-name, package-name --force
18. package:make-notification Create a new notification class. notification-name, package-name --force
19. package:make-mail Create a new mail class. mail-name, package-name --force
20. package:make-command Create a new command class. command-name, package-name --force
21. package:make-payment Create a new payment class. payment-name, package-name --force
22. package:make-shipping Create a new shipping class. shipping-name, package-name --force
23. package:make-module-provider Create a new module service provider class. provider-name, package-name --force
24. package:make-payment-method Create a new payment method package. payment-package-name --force
25. package:make-payment-method-provider Create a new payment method service provider class. provider-name, payment-package-name --force
26. package:make-shipping-method Create a new shipping method package. shipment-package-name --force
27. package:make-shipping-method-provider Create a new shipping method service provider class. provider-name, shipment-package-name --force
28. create-a-new-theme-for-portal Create a new theme for portal. theme-name --force
29. create-a-new-theme-for-admin Create a new theme for admin. theme-name --force

--force : To overwrite the files

--plain : When you need only directory structure template, files are not included when this argument is passed

5. Usage

Let's get started with our first command

1. Create a new package

This command will generate all the necessary files which previously you create manually for your package.

php artisan package:make ACME/TestPackage

For e.g., If you want to create a package which named as 'TestPackage', then you need to use the command like this,

php artisan package:make ACME/TestPackage

This will create whole directory structure for you automatically so that you don't want to do manually like registering routes, views, etc.

New package with just directory structure

If you want to do things manually only need folder structures, then there is a optional argument known as 'plain'. Below is the sample,

php artisan package:make ACME/TestPackage --plain
New package with force command

If somehow folder or package is already present, then simple command won't work. So to overcome this problem we need to use force command.

php artisan package:make ACME/TestPackage --force

2. Create a new admin controller

This command will generate a new controller for your admin portion.

php artisan package:make-admin-controller AdminTestController ACME/TestPackage
Create a new admin controller with force command

If controller is already present, then you need to use the force command.

php artisan package:make-admin-controller AdminTestController ACME/TestPackage --force

3. Create a new admin routes file

If you want to create an admin route, then you need to use this command and then register your routes file in the service provider i.e. 'ACME\TestPackage\Providers\TestPackageServiceProvider'.

php artisan package:make-admin-route ACME/TestPackage
Create a new admin routes file with force command

If admin routes file already present and you want to override this, then you need to use force command.

php artisan package:make-admin-route ACME/TestPackage --force

4. Create a new portal controller

This command will generate a new controller for your portal portion i.e. 'packages/ACME/TestPackage/src/Http/Controllers/Portal'.

php artisan package:make-portal-controller PortalTestController ACME/TestPackage
Create a new portal controller with force command

If controller is already present, then you need to use the force command.

php artisan package:make-portal-controller PortalTestController ACME/TestPackage --force

5. Create a new portal routes file

If you want to create a portal route, then you need to use this command and then register your routes file in the service provider i.e. 'ACME\TestPackage\Providers\TestPackageServiceProvider'.

php artisan package:make-portal-route ACME/TestPackage
Create a new portal routes file with force command

If portal routes file already present and you want to override this, then you need to use force command.

php artisan package:make-portal-route ACME/TestPackage --force

6. Create a new model class

This command will create a following files,

  • New model class in 'packages/ACME/TestPackage/src/Models' directory.
  • New model proxy class in 'packages/ACME/TestPackage/src/Models' directory.
  • New model contract in 'packages/ACME/TestPackage/src/Contracts' directory.
php artisan package:make-model TestModel ACME/TestPackage
Create a new model with force command

This command will overwrite all three files.

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

7. Create a new model proxy class

This command will create a new model proxy class in 'packages/ACME/TestPackage/src/Models' directory.

php artisan package:make-model-proxy TestModelProxy ACME/TestPackage
Create a new model proxy with force command

If model proxy class already present then you can use force command for overwriting.

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

8. Create a new model contract

This command will create a new model contract in 'packages/ACME/TestPackage/src/Contracts' directory.

php artisan package:make-model-contract TestContract ACME/TestPackage
Create a new model contract with force command

If model contract already present then you can use force command for overwriting.

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

9. Create a new migration class

This command will create a new migration class in 'packages/ACME/TestPackage/src/Database/Migrations' directory.

php artisan package:make-migration TestMigration ACME/TestPackage

10. Create a new seeder class

This command will create a new seeder class in 'packages/ACME/TestPackage/src/Database/Seeders' directory.

php artisan package:make-seeder TestSeeder ACME/TestPackage
Create a new seeder class with force command

If seeder class already present then you can use force command for overwriting.

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

11. Create a new request class

This command will create a new request class in 'packages/ACME/TestPackage/src/Http/Requests' directory.

php artisan package:make-request TestRequest ACME/TestPackage
Create a new request class with force command

If request class already present then you can use force command for overwriting.

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

12. Create a new middleware class

This command will create a new middleware class in 'packages/ACME/TestPackage/src/Http/Middleware' directory.

php artisan package:make-middleware TestMiddleware ACME/TestPackage
Create a new middleware class with force command

If middleware class already present then you can use force command for overwriting.

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

13. Create a new datagrid class

This command will create a new data grid class in 'packages/ACME/TestPackage/src/Datagrids' directory.

php artisan package:make-datagrid TestDataGrid ACME/TestPackage
Create a new datagrid class with force command

If data grid class already present then you can use force command for overwriting.

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

14. Create a new repository class

This command will create a new repository class in 'packages/ACME/TestPackage/src/Repositories' directory.

php artisan package:make-repository TestRepository ACME/TestPackage
Create a new repository with force command

If repository class already present then you can use force command for overwriting.

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

15. Create a new service provider class

This command will create a new service provider class in 'packages/ACME/TestPackage/src/Providers' directory.

php artisan package:make-provider TestServiceProvider ACME/TestPackage
Create a new service provider with force command

If service provider class already present then you can use force command for overwriting.

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

16. Create a new event class

This command will create a new event class in 'packages/ACME/TestPackage/src/Events' directory.

php artisan package:make-event TestEvent ACME/TestPackage
Create a new event with force command

If event class already present then you can use force command for overwriting.

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

17. Create a new listener class

This command will create a new listener class in 'packages/ACME/TestPackage/src/Listeners' directory.

php artisan package:make-listener TestListener ACME/TestPackage
Create a new listener class with force command

If listener class already present then you can use force command for overwriting.

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

18. Create a new notification class

This command will create a new notification class in 'packages/ACME/TestPackage/src/Notifications' directory.

php artisan package:make-notification TestNotification ACME/TestPackage
Create a new notification with force command

If notification class already present then you can use force command for overwriting.

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

19. Create a new mail class

This command will create a new mail class in 'packages/ACME/TestPackage/src/Mail' directory.

php artisan package:make-mail TestMail ACME/TestPackage
Create a new mail class with force command

If mail class already present then you can use force command for overwriting.

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

20. Create a new command class

This command will create a new command class in the 'packages/ACME/TestPackage/src/Console/Commands' directory.

php artisan package:make-command TestCommand ACME/TestPackage
Create a new command class with force command

If command class already present then you can use force command for overwriting.

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

21. Create a new payment class

This command will create a new payment class in 'packages/ACME/TestPackage/src/Payment' directory.

php artisan package:make-payment TestPayment ACME/TestPackage
Create a new payment with force command

If payment class already present then you can use force command for overwriting.

php artisan package:make-payment TestPayment ACME/TestPackage --force

22. Create a new shipping class

This command will create a new shipping class in 'packages/ACME/TestPackage/src/Carriers' directory.

php artisan package:make-shipping TestShipping ACME/TestPackage
Create a new shipping class with force command

If shipping class already present then you can use force command for overwriting.

php artisan package:make-shipping TestShipping ACME/TestPackage --force

23. Create a new module service provider class

This command will create a new module service provider class in 'packages/ACME/TestPackage/src/Providers' directory.

php artisan package:make-module-provider TestServiceProvider ACME/TestPackage
Create a new module service provider with force command

If module service provider class already present then you can use force command for overwriting.

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

24. Create a new payment method package

This command will create a whole new payment package for you in 'packages/ACME/Stripe' directory.

php artisan package:make-payment-method ACME/Stripe
Create a new payment method with force command

This command will overwrite whole directory structure.

php artisan package:make-payment-method ACME/Stripe --force

25. Create a new payment method service provider class

This command will create a new payment method service provider class in 'packages/ACME/Stripe/src/Providers' directory.

php artisan package:make-payment-method-provider TestPaymentMethodServiceProvider ACME/Stripe
Create a new payment method service provider class with force command

If payment method service provider class already present then you can use force command for overwriting.

php artisan package:make-payment-method-provider TestPaymentMethodServiceProvider ACME/Stripe --force

26. Create a new shipping method package

This command will create a whole new shipment package in 'packages/ACME/FedEx' directory.

php artisan package:make-shipping-method ACME/FedEx
Create a new shipping method with force command

This command will override whole directory structure.

php artisan package:make-shipping-method ACME/FedEx --force

27. Create a new shipping method service provider class

This command will create a new shipping method service provider class 'packages/ACME/FedEx/src/Providers' directory.

php artisan package:make-shipping-method-provider TestShippingMethodServiceProvider ACME/FedEx
Create a new shipping method service provider with force command

If shipping method service provider class already present then you can use force command for overwriting.

php artisan package:make-shipping-method-provider TestShippingMethodServiceProvider ACME/FedEx --force

28. Create a new theme for portal

This command will create a new theme array inside 'config/themes.php' file under themes key.

php artisan package:make-portal-theme test ACME/Theme --force

29. Create a new theme for admin

This command will create a new theme array inside 'config/themes.php' file under admin-themes key.

php artisan package:make-admin-theme test ACME/Theme --force

devops-future/laravel-sub-package-generator 适用场景与选型建议

devops-future/laravel-sub-package-generator 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 12 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 10 月 04 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 devops-future/laravel-sub-package-generator 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 devops-future/laravel-sub-package-generator 我们能提供哪些服务?
定制开发 / 二次开发

基于 devops-future/laravel-sub-package-generator 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 12
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-10-04