jaapmoolenaar.nl / crud-generator
Laravel 5 CRUD 生成器
Requires
- php: >=5.5.9
- illuminate/support: 5.6.*
- jaapmoolenaar.nl/html: ^5.6
- laracasts/flash: ^1.3
README
Laravel CRUD 生成器
要求
Laravel >=5.1
PHP >= 5.5.9
安装
-
运行
composer require jaapmoolenaar.nl/crud-generator
-
将服务提供者添加到 /config/app.php 文件。
'providers' => [ ... Appzcoder\CrudGenerator\CrudGeneratorServiceProvider::class, ],
-
将 laravelcollective/html 的服务提供者和别名添加到 /config/app.php 文件。
'providers' => [ ... Collective\Html\HtmlServiceProvider::class, ], 'aliases' => [ ... 'Form' => Collective\Html\FormFacade::class, 'HTML' => Collective\Html\HtmlFacade::class, ],
-
将 laracasts/flash 的服务提供者和别名添加到 /config/app.php 文件。
'providers' => [ ... Laracasts\Flash\FlashServiceProvider::class, ], 'aliases' => [ ... 'Flash' => Laracasts\Flash\Flash::class, ],
-
如果 composer 没有安装更新,请运行 composer update
-
发布配置文件和生成器模板文件。
php artisan vendor:publish
这会将存根复制到 resources/crud-generator/,如果您想使用它们,请记住在配置中启用它们(crudgenerator.php 中的 'custom_template')
注意:您应该已经为该操作配置了数据库。
命令
CRUD 命令
php artisan crud:generate Posts --fields="title:string, body:text"
您还可以通过选项 --route、--pk、--view-path 等轻松包含路由、设置主键、设置视图目录等
php artisan crud:generate Posts --fields="title:string:required, body:text:required" --route=yes --pk=id --view-path="admin" --namespace=Admin --route-group=admin
选项
- --fields : 表单和模型的字段名称。
- --route : 将 CRUD 路由包含到 routes.php 中?是或否。
- --pk : 主键的名称。
- --view-path : 视图路径的名称。
- --namespace : 控制器的命名空间。
- --route-group : 路由组的前缀。
其他命令(可选)
控制器生成器
php artisan crud:controller PostsController --crud-name=posts --model-name=Post --view-path="directory" --route-group=admin
模型生成器
php artisan crud:model Post --fillable="['title', 'body']"
迁移生成器
php artisan crud:migration posts --schema="title:string, body:text"
视图生成器
php artisan crud:view posts --fields="title:string, body:text" --view-path="directory" --route-group=admin
默认情况下,生成器会尝试将 CRUD 路由附加到您的 routes.php 文件。如果您不想添加路由,可以使用选项 --route=no
。
创建所有资源后,运行迁移命令。 如有必要,请包括您的 CRUD 路由。
php artisan migrate
如果您选择不自动添加 CRUD 路由(见上文),您需要手动添加路由。
Route::resource('posts', 'PostsController');
支持的字段类型
以下字段类型支持迁移和视图表单
- 字符串
- 字符
- 可变字符
- 密码
- 电子邮件
- 日期
- 日期时间
- 时间
- 时间戳
- 文本
- 中文本
- 长文本
- JSON
- JSONB
- 二进制
- 数字
- 整数
- 大整数
- 中整数
- 小整数
- 短整数
- 布尔型
- 十进制
- 双精度浮点数
- 浮点数
自定义生成器的存根模板
您可以根据需要自定义生成器的存根文件/模板。
-
确保您已发布了软件包的资产。
php artisan vendor:publish
-
在 /config/crudgenerator.php 上开启 custom_template 支持
'custom_template' => true,
-
从 /resources/crud-generator/ 目录中,您可以修改或自定义存根文件。
其他配置选项
您可以使用此配置选项使用另一个布局来扩展 'layouts.master'(如果它不是默认的 'layouts.master',则不会复制布局存根)
'extend_layout' => 'layouts.app',
如果您在布局中使用其他部分名称,请使用以下方式设置它
'section_name' => 'sub_content',
使用以下方式设置用于资源控制器的中间件: (Laravel 5.2 的 'web' 中间件将自动添加)
'middleware' => 'auth',
##作者