19peaches / laravel-generator
使用一个命令即可生成Laravel CRUD生成器/模型/迁移,包括控制器、服务、仓库、模型、迁移、routes.php更新。
Requires
- php: >=5.5.9
- doctrine/dbal: ^2.5
- illuminate/support: 5.4.*
Suggests
- doctrine/dbal: Required to use generator from existing table.
README
Artisan命令可以生成以下项目
- 迁移文件
- 模型
- 仓库
- 服务
- 控制器
- 视图
- index.blade.php
- show.blade.php
- create.blade.php
- edit.blade.php
- form.blade.php
- 调整routes.php
- 调整ModelFactory.php
以下是完整文档。
升级指南.
文档正在制作中...
文档
安装
-
将此包添加到您的composer.json
"require": { "doctrine/dbal": "^2.5", "laracasts/flash": "dev-master", "laravelcollective/html": "^5.2" } "require-dev": { "19peaches/laravel-generator": "1.*" }
-
运行composer update
composer update
-
将服务提供者添加到config/app.php中的providers数组。
由于我们使用这两个包 laravelcollective/html & laracasts/flash 作为依赖项。
因此,我们还需要添加那些服务提供者。Collective\Html\HtmlServiceProvider::class, Laracasts\Flash\FlashServiceProvider::class, Peaches\Generator\GeneratorServiceProvider::class,
为了方便起见,将这些外观添加到config/app.php中的别名数组。
'Form' => Collective\Html\FormFacade::class, 'Html' => Collective\Html\HtmlFacade::class, 'Flash' => Laracasts\Flash\Flash::class
配置
发布配置文件generator.php
。
php artisan vendor:publish
配置文件(config/generator.php
)包含所有生成文件的路径
base_controller
- 所有控制器的基类控制器
base_name
- 基类的基础目录路径
path_migration
- 生成迁移文件的路径
path_model
- 生成模型文件的路径
path_repository
- 生成仓库文件的路径
path_service
- 生成服务文件的路径
path_controller
- 生成控制器文件的路径
path_views
- 创建视图的路径
path_request
- 创建请求文件的路径
path_routes
- routes.php的路径(如果您使用任何自定义路由文件)
namespace_model
- 模型的命名空间
namespace_repository
- 仓库的命名空间
namespace_service
- 服务的命名空间
namespace_controller
- 控制器的命名空间
namespace_request
- 请求的命名空间
model_extend_class
- 模型的扩展类
main_layout
- 扩展主布局
route_prefix
- 脚手架路由的前缀
use_repository_layer
- 使用仓库层
use_service_layer
- 使用服务层
发布 & 初始化
-
发布一些常见的视图,如
paginate.blade.php
。php artisan generator:publish -
发布模板。php artisan generator:publish --templates
-
发布一个基础仓库文件 php artisan generator:publish --baseRepository
生成器
通过执行 artisan 命令从现有表中生成迁移、模型、带有 CRUD 视图的 Scaffold。此包可以从指定表或数据库中所有表中生成文件。
此包要求您至少传递一个表名参数。如果您想传递多个表名,则用逗号分隔表名列表。
从现有表中生成迁移
php artisan generator:make:migrate TableName
生成 CRUD Scaffold
php artisan generator:make:scaffold TableName
生成带有验证和关系的模型
php artisan generator:make:model TableName
从现有表中生成工厂
php artisan generator:make:factory TableName
生成所有资源文件
php artisan generator:make:resource TableName
例如:php artisan generator:migrate php artisan generator:migrate posts,comments
php artisan generator:make:model
php artisan generator:make:model posts,comments
php artisan generator:make:model --tables=posts,comments
php artisan generator:make:model --ignore=posts,comments
php artisan generator:make:model posts,comments --models=Post,Comment
php artisan generator:make:scaffold
php artisan generator:make:scaffold posts,comments
php artisan generator:make:scaffold --tables=posts,comments
php artisan generator:make:scaffold --ignore=posts,comments
php artisan generator:make:factory posts,comments
php artisan generator:make:resource posts,comments
支持的 HTML 字段类型
以下是支持的字段类型及其选项列表
- 文本
- 多行文本框
- 密码
- 邮箱
- 复选框
- 数字
- 日期
自定义模板
要使用自己的自定义模板,
-
将模板发布到
/resources/generator-templates
php artisan generator:publish --templates
-
仅保留您想要更改的模板。删除您不打算更改的模板。
选项
分页记录
要分页记录,您可以指定分页选项,例如:
php artisan generator:make:scaffold posts --paginate=10
模型使用 Auth
要使用 Auth 特性,使用 auth 选项,
php artisan generator:make:model users --auth
致谢
原始 Laravel 生成器由 Bluecode 创建。
欢迎提交错误 :)