Package Data | |
---|---|
Maintainer Username: | liaoshengping |
Maintainer Contact: | 1194008361@qq.com (liaosp) |
Package Create Date: | 2019-08-16 |
Package Last Update: | 2020-12-25 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-22 15:03:16 |
Package Statistics | |
---|---|
Total Downloads: | 77 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 0 |
Total Watchers: | 1 |
Total Forks: | 0 |
Total Open Issues: | 0 |
自动生成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文件,如果使用到了软删除,创建,更新字段请最好使用timestamp
类型 字段名称可以在配置文件中配置,其他不限。
php artisan radish:models
为指定的表生成model文件
php artisan radish:models user_tags
单个表生成的时候,请注意不需要带上表前缀, 其余与表名一致
如果您的项目安装了barryvdh/laravel-ide-helper
与 doctrine/dbal
,还会自动调用对应的命令为您生成model class的注释
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'),
],
....
],
];
Fork for https://github.com/chujc/laravel-generator