liaosp/laravel-generator
Composer 安装命令:
composer require liaosp/laravel-generator
包简介
Laravel, Lumen脚手架 按规则自动生成model文件以及controller,request文件
README 文档
README
自动生成model文件,RESTful路由以及对于的controller,request文件
安装
因为是开发环境下使用的包,请执行如下方式安装,不要省略--dev参数
composer require liaosp/laravel-generator --dev
Laravel 5.5以上版本安装后就可以执行命令生成对应的文件,Lumen需要在bootstrap/app.php 文件下面 末端加入如下代码
if ($app->environment() !== 'production') { $app->register(\Radish\LaravelGenerator\GeneratorServiceProvider::class); }
生成model文件
使用前请确保您的数据库文件是配置正确的,同时您的数据表已经构建,因为此包生成的model是会读取您的表结构生产对应的model
自动扫描数据库结构,为目前的所有表生成model文件,如果使用到了软删除,创建,更新字段请最好使用timestamp类型 字段名称可以在配置文件中配置,其他不限。
models 脚手架
- 生成model文件
- 类名 class name 替换
- 命名空间 namespace 与 继承 class 替换
- 主键及主键属性判断
- 批量更新字段白名单
- 创建与更新时间戳的判断
- 软删除时间戳的判断
命令
php artisan radish:models
为指定的表生成model文件
php artisan radish:models user_tags
单个表生成的时候,请注意不需要带上表前缀, 其余与表名一致
如果您的项目安装了barryvdh/laravel-ide-helper 与 doctrine/dbal,还会自动调用对应的命令为您生成model class的注释
生成API Controller文件
API脚手架
- 生成controller文件
- 命名空间 namespace 替换
- 类名 class name 替换
- 继承 class 替换
- 对应的 model class 替换
- 对应的 request class 替换
- 列表,详情,创建,更新,删除方法的默认处理
- 路由的新增 RESTful路由
命令
api 只能单个生成,需要注意controller 命名
php artisan radish:api UserController
关联model生成controller会关联model文件,生成request文件,常用方法的基本使用, RESTful路由
php artisan radish:api UserTagController -m UserTag
注意-m 后面的model 一定是存在model配置文件夹中的 model,命名需与文件中一致
路由
生成的route放在配置的文件中,你可以直接修改配置文件或者在引入路由文件
修改路由的主要原因是生成的controller文件等是完全可以自定义配置的,如果你不想修改可以配置成官方的路径 配置文件中apiDefault 修改成对应的配置既可
laravel中可以直接在app\Providers\RouteServiceProvider 中 新增或者修改对应的访问引入route文件
... protected function mapApiRoutes() { Route::prefix('api') ->middleware('api') ->namespace('App\APIs\Controllers') ->group(base_path('app/APIs/route.php')); } ...
lumen可以直接在bootstrap/app.php下面修改
$app->router->group([ 'namespace' => 'App\Http\Controllers', ], function ($router) { require base_path('app/APIs/route.php'); });
配置相关
很多如果您很多需要自定义,比如model,controller放置文件夹等,请先执行以下命令生成配置文件。
php artisan vendor:publish --provider="Radish\LaravelGenerator\GeneratorServiceProvider" --tag=config
- 默认配置
return [ //Eloquent Model 'model' => [ // 生成model的命名空间 'namespace' => 'App\Models', // 生成的model放置文件夹 'path' => base_path('app/Models'), // 生成的models继承的class 'extends' => 'Illuminate\Database\Eloquent\Model', 'extends_name' => 'Model', // 忽略的table, 不会生成models 'ignore' => ['users'], // 满足条件的table 不为空数组的时候 只会为填充的table生成model // 简单点说为多个指定的table生成model就填写在fill配置中 'fill' => [], // 时间戳字段 如果自定义时间戳字段需要 只需要修改键对应的值 'timestamps' => [ 'created_at' => 'created_at', 'updated_at' => 'updated_at', ], // 如果有自定义软删除时间戳 只需要修改对应的字段值 'soft_deletes' => 'deleted_at', ], 'api_default' => 'laravel', 'api_config' => [ 'laravel' => [ // 生成API的命名空间 'namespace' => 'App\Http\Controllers', // 生成的API放置文件夹 'path' => base_path('app/Http/Controllers'), // 生成的API继承的class 'extends' => 'App\Http\Controllers\Controller', 'extends_name' => 'Controller', // 是否生成request 'request' => true, 'request_path' => base_path('app/Http/Requests'), 'request_namespace' => 'App\Http\Requests', // 路由放置文件 'route' => base_path('routes/api.php'), ], .... ], ];
资源贡献
liaosp/laravel-generator 适用场景与选型建议
liaosp/laravel-generator 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 78 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 10 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「generator」 「api」 「controller」 「model」 「laravel」 「lumen」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 liaosp/laravel-generator 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 liaosp/laravel-generator 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 liaosp/laravel-generator 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Give your JS App some Backbone with Models, Views, Collections, and Events.
Memio's PrettyPrinter, used to generate PHP code from given Model
A PSR-7 compatible library for making CRUD API endpoints
Create mail from controller action render
Extended auth components for Yii2
Phalcon Model Generator
统计信息
- 总下载量: 78
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-10-11