定制 jundayw/laravel-artisan-generator 二次开发

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

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

jundayw/laravel-artisan-generator

Composer 安装命令:

composer require jundayw/laravel-artisan-generator

包简介

laravel artisan generator

README 文档

README

命令行下, 执行 composer 命令安装:

composer require jundayw/laravel-artisan-generator

配置及模板

authentication package that is simple and enjoyable to use.

发布配置文件

php artisan vendor:publish --tag=artisan-generator-config

发布模板文件

php artisan vendor:publish --tag=artisan-generator-views

发布配置及模板文件

php artisan vendor:publish --provider="Jundayw\LaravelArtisanGenerator\GeneratorServiceProvider"

使用方法

分步交互命令:generator

可生成Controller/Repository/Model/Request/View及相对应的方法(Method)

php artisan generator

生成模型命令:generator:model

php artisan generator:model UpgradeStation
php artisan generator:model UpgradeStation --parent
[
  "DummyModelRootNamespace" => "App\Models"
  "DummyModelClassNamespace" => "App\Models\UpgradeStation"
  "DummyModelClass" => "UpgradeStation"
  "DummyModelVariable" => "upgradeStation"
  "DummyModelKebabVariable" => "upgrade-station"
  "DummyModelSnakeVariable" => "upgrade_station"
  "DummyNamespace" => "App\Models"
  "DummyRootNamespace" => "App\\"
  "NamespacedDummyUserModel" => "App\Models\User"
]

生成表单验证命令:generator:request

php artisan generator:request Backend/UpgradeStationCreateRequest
php artisan generator:request Backend/UpgradeStationCreateRequest --parent
[
  "DummyRepositoryRootNamespace" => "App\Http\Requests"
  "DummyRequestClassNamespace" => "App\Http\Requests\Backend\UpgradeStationCreateRequest"
  "DummyRequestClass" => "UpgradeStationCreateRequest"
  "DummyRequestVariable" => "upgradeStationCreateRequest"
  "DummyRequestKebabVariable" => "upgrade-station-create-request"
  "DummyRequestSnakeVariable" => "upgrade_station_create_request"
  "DummyNamespace" => "App\Http\Requests\Backend"
  "DummyRootNamespace" => "App\\"
  "NamespacedDummyUserModel" => "App\Models\User"
]

生成仓储层命令:generator:repository

php artisan generator:repository Backend/UpgradeStationRepository
php artisan generator:repository Backend/UpgradeStationRepository --parent
php artisan generator:repository Backend/UpgradeStationRepository --model=UpgradeStation
php artisan generator:repository Backend/UpgradeStationRepository --model=UpgradeStation --method
[
  "DummyModelRootNamespace" => "App\Models"
  "DummyModelClassNamespace" => "App\Models\UpgradeStation"
  "DummyModelClass" => "UpgradeStation"
  "DummyModelVariable" => "upgradeStation"
  "DummyModelKebabVariable" => "upgrade-station"
  "DummyModelSnakeVariable" => "upgrade_station"
  "DummyRepositoryRootNamespace" => "App\Repositories"
  "DummyRepositoryClassNamespace" => "App\Repositories\Backend\UpgradeStationRepository"
  "DummyRepositoryClass" => "UpgradeStationRepository"
  "DummyRepositoryVariable" => "upgradeStationRepository"
  "DummyRepositoryKebabVariable" => "upgrade-station-repository"
  "DummyRepositorySnakeVariable" => "upgrade_station_repository"
  "DummyRepositoryUrl" => "backend/upgrade-station"
  "DummyRepositoryRoute" => "backend.upgrade-station"
  "DummyNamespace" => "App\Repositories\Backend"
  "DummyRootNamespace" => "App\\"
  "NamespacedDummyUserModel" => "App\Models\User"
]

生成视图命令:generator:view

php artisan generator:view Backend/UpgradeStation --view=list
[
  "DummyViewRootNamespace" => "resources\views"
  "DummyViewClassNamespace" => "resources\views\Backend\UpgradeStation"
  "DummyViewClass" => "UpgradeStation"
  "DummyViewVariable" => "upgradeStation"
  "DummyViewKebabVariable" => "upgrade-station"
  "DummyViewSnakeVariable" => "upgrade_station"
  "DummyViewUrlMethod" => "backend/upgrade-station/list"
  "DummyViewRouteMethod" => "backend.upgrade-station.list"
  "DummyViewUrlClass" => "backend/upgrade-station"
  "DummyViewRouteClass" => "backend.upgrade-station"
  "DummyViewMethod" => "list"
  "DummyViewNamespaceRoot" => "backend"
  "DummyNamespace" => "resources\views\Backend"
  "DummyRootNamespace" => "resources\\"
  "NamespacedDummyUserModel" => "App\Models\User"
]

生成控制层命令:generator:controller

php artisan generator:controller Backend/UpgradeStationController
php artisan generator:controller Backend/UpgradeStationController --parent
php artisan generator:controller Backend/UpgradeStationController --model=UpgradeStation
php artisan generator:controller Backend/UpgradeStationController --repository=Backend/UpgradeStationRepository
php artisan generator:controller Backend/UpgradeStationController --repository=Backend/UpgradeStationRepository --model=UpgradeStation
php artisan generator:controller Backend/UpgradeStationController --repository=Backend/UpgradeStationRepository --model=UpgradeStation --method --view=create --view=edit --view=list
php artisan generator:controller Backend/UpgradeStationController --repository=Backend/UpgradeStationRepository --model=UpgradeStation --method --request=Backend/UpgradeStationCreateRequest --request=Backend/UpgradeStationUpdateRequest
[
  "DummyRepositoryRootNamespace" => "App\Repositories"
  "DummyRepositoryClassNamespace" => "App\Repositories\Backend\UpgradeStationRepository"
  "DummyRepositoryClass" => "UpgradeStationRepository"
  "DummyRepositoryVariable" => "upgradeStationRepository"
  "DummyRepositoryKebabVariable" => "upgrade-station-repository"
  "DummyRepositorySnakeVariable" => "upgrade_station_repository"
  "DummyModelRootNamespace" => "App\Models"
  "DummyModelClassNamespace" => "App\Models\UpgradeStation"
  "DummyModelClass" => "UpgradeStation"
  "DummyModelVariable" => "upgradeStation"
  "DummyModelKebabVariable" => "upgrade-station"
  "DummyModelSnakeVariable" => "upgrade_station"
  "DummyRequestRootNamespace" => "App\Http\Requests"
  "DummyRequestClass1Namespace" => "App\Http\Requests\Backend\UpgradeStationCreateRequest"
  "DummyRequestClass1" => "UpgradeStationCreateRequest"
  "DummyRequestVariable1" => "upgradeStationCreateRequest"
  "DummyRequestKebabVariable1" => "upgrade-station-create-request"
  "DummyRequestSnakeVariable1" => "upgrade_station_create_request"
  "DummyRequestClass2Namespace" => "App\Http\Requests\Backend\UpgradeStationUpdateRequest"
  "DummyRequestClass2" => "UpgradeStationUpdateRequest"
  "DummyRequestVariable2" => "upgradeStationUpdateRequest"
  "DummyRequestKebabVariable2" => "upgrade-station-update-request"
  "DummyRequestSnakeVariable2" => "upgrade_station_update_request"
  "DummyViewVariableCreate" => "backend.upgrade-station.create"
  "DummyViewVariableEdit" => "backend.upgrade-station.edit"
  "DummyViewVariableList" => "backend.upgrade-station.list"
  "DummyLabel" => "Manager"
  "DummyControllerRootNamespace" => "App\Http\Controllers"
  "DummyControllerClassNamespace" => "App\Http\Controllers\Backend\UpgradeStationController"
  "DummyControllerClass" => "UpgradeStationController"
  "DummyControllerVariable" => "upgradeStationController"
  "DummyControllerKebabVariable" => "upgrade-station-controller"
  "DummyControllerSnakeVariable" => "upgrade_station_controller"
  "DummyNamespace" => "App\Http\Controllers\Backend"
  "DummyRootNamespace" => "App\\"
  "NamespacedDummyUserModel" => "App\Models\User"
]

使用流程

  • 创建测试数据库
CREATE TABLE `upgrade_station`
(
    `id`         int(11) NOT NULL AUTO_INCREMENT,
    `title`      varchar(255) DEFAULT NULL,
    `created_at` datetime     DEFAULT NULL,
    `updated_at` datetime     DEFAULT NULL,
    `deleted_at` datetime     DEFAULT NULL,
    `state`      varchar(255) DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  • 编写测试路由
Route::namespace('Backend')->name('backend.')->group(function () {
    Route::prefix('upgrade-station')->name('upgrade-station.')->group(function () {
        Route::get('list', 'UpgradeStationController@list')->name('list');
        Route::get('create', 'UpgradeStationController@create')->name('create');
        Route::post('store', 'UpgradeStationController@store')->name('store');
        Route::get('edit', 'UpgradeStationController@edit')->name('edit');
        Route::post('update', 'UpgradeStationController@update')->name('update');
        Route::get('destroy', 'UpgradeStationController@destroy')->name('destroy');
    });
});
  • 执行命令
php artisan generator:controller Backend/UpgradeStationController --repository=Backend/UpgradeStationRepository --model=UpgradeStation --method --request=Backend/UpgradeStationCreateRequest --request=Backend/UpgradeStationUpdateRequest --view=create --view=edit --view=list

php artisan generator
  • 调试成功
  • 发布模板文件
php artisan vendor:publish --tag=artisan-generator-views
  • 自定义Model模板(继承、配置及默认方法)
  • 自定义Request模板(继承、配置及默认方法)
  • 自定义Repository模板(继承及默认方法)
  • 自定义Controller模板(继承及默认方法)
  • 自定义View视图文件(View模板默认create/edit/list,可根据具体情况新增或删减,通过 --view 参数调用新增模板)
  • Well Done!

jundayw/laravel-artisan-generator 适用场景与选型建议

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

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

围绕 jundayw/laravel-artisan-generator 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-11-29