nicoaudy/laravelmanthra

懒人开发者用的 Laravel Manthra

2.2 2019-09-17 03:45 UTC

README

Latest Version on Packagist Total Downloads

screenshot.png manthra.gif

安装

通过 Composer

$ composer require nicoaudy/laravelmanthra dev-master

如果还没有安装,请安装 laravelcollective/html 辅助包。

$ composer require laravelcollective/html
$ composer dump-autoload

发布此包的供应商文件。

$ php artisan vendor:publish

生成器 GUI

如果您想使用 GUI 生成,Manthra 将为您提供在 /manthra 中查看的生成器 GUI。

您可以修改 /manthra 来添加中间件,并将默认路由强制转换为自定义路由。

    // manthra controller
    $manthraNamespace = 'NicoAudy\LaravelManthra\Http\Controllers\ManthraController@index';

    // your custom route
    Route::get('/manthra', $manthraNamespace)->middleware('auth');

命令

完整(Web 和 API)

生成 CRUD 脚手架 Web 和 API,您可以使用此命令,例如

php artisan manthra:complete Cat --fields="name#string;age#integer; type#select#options=persian,maine coon,bengal; is_male#boolean" --view-path=pet --controller-namespace=Pet --route-group=pet --model-namespace=Models

Web

仅生成 CRUD 脚手架 Web,您可以使用此命令,例如

php artisan manthra:web Cat --fields="name#string;age#integer; type#select#options=persian,maine coon,bengal; is_male#boolean" --view-path=pet --controller-namespace=Pet --route-group=pet --model-namespace=Models

API

仅生成 CRUD 脚手架 API,您可以使用此命令,Web 和 API 之间的区别在于 (--view-path=) 标志,例如

php artisan manthra:api Cat --fields="name#string;age#integer; type#select#options=persian,maine coon,bengal; is_male#boolean" --controller-namespace=Pet --route-group=pet --model-namespace=Models

选项

其他命令(可选)

对于控制器

  • 标准版本
php artisan manthra:controller PostsController --crud-name=posts --model-name=Post --view-path="directory" --route-group=admin
  • API 版本
php artisan manthra:api-controller PostsController --crud-name=posts --model-name=Post --route-group=admin

控制器的选项

对于模型

php artisan manthra:model Post --fillable="['title', 'body']"

对于迁移

php artisan manthra:migration posts --schema="title#string; body#text"

对于视图

php artisan manthra:view posts --fields="title#string; body#text" --view-path="directory" --route-group=admin

默认情况下,生成器会尝试将 CRUD 路由添加到您的 Route 文件中。如果您不想添加路由,可以使用此选项 --route=no

创建所有资源后,运行迁移命令。如果需要,也可以包含您的 CRUD 路由。

php artisan migrate

如果您选择不自动添加 CRUD 路由(参见上方),则需要手动包含路由。

Route::resource('posts', 'PostsController');

支持的字段类型

这些字段支持用于迁移和视图表单

表单字段类型

  • 文本
  • 多行文本
  • 密码
  • 电子邮件
  • 数字
  • 日期
  • 日期时间
  • 时间
  • 单选按钮
  • 下拉列表
  • 文件

迁移字段类型

  • 字符串
  • 字符
  • 可变长度字符串
  • 日期
  • 日期时间
  • 时间
  • 时间戳
  • 文本
  • 中等文本
  • 长文本
  • JSON
  • JSONB
  • 二进制
  • 整数
  • 大整数
  • 中等整数
  • 小整数
  • 小整数
  • 布尔型
  • 十进制
  • 双精度浮点数
  • 浮点数
  • 枚举

自定义生成器占位符模板

您可以自定义生成器的占位符文件/模板以实现您的需求。

  1. 确保您已发布包的资产。

    php artisan vendor:publish --provider="NicoAudy\LaravelManthra\LaravelManthraServiceProvider"
    
  2. config/laravelmanthra.php 上打开 custom_template 支持

    'custom_template' => true,
    
  3. resources/manthra/stubs/ 目录中,您可以修改或自定义占位符文件。

  4. config/laravelmanthra.php 上,您可以添加新的占位符并选择传递哪些值

变更日志

请参阅 changelog 以获取有关最近更改的更多信息。

贡献

请参阅 contributing.md 以获取详细信息和学习清单。

致谢

许可证

许可证。有关更多信息,请参阅 许可证文件