【扩展分享】Laravel 5.3 代码生成器 - summerblue/generator
42

Laravel 提供了很棒的功能特性,此生成器以构建实战项目为目标,利用这些特性,允许你快速构建健壮性和扩展性兼备的项目。

https://github.com/summerblue/generator

另:此项目遵守 优帆远扬 制定的 Laravel 项目开发规范

功能列表

安装

第一步、通过 Composer 安装

composer require 'summerblue/generator' --dev

第二步、增加服务提供者

打开 /app/Providers/AppServiceProvider.phpregister 方法添加,如下:

public function register()
{
     if (app()->environment() == 'local' || app()->environment() == 'testing') {

        $this->app->register(\Summerblue\Generator\GeneratorsServiceProvider::class);

    }
}

第三步、查看命令

在命令行运行 php artisan 后,查看是否有 make:scaffold 命令。

示例

使用以下命令来构建 Project 模型:

php artisan make:scaffold Projects --schema="name:string:index,description:text:nullable,subscriber_count:integer:unsigned,default(0)"

会输出:

$ php artisan make:scaffold Projects --schema="name:string:index,description:text:nullable,subscriber_count:integer:unsigned:default(0)"

----------- scaffolding: Project -----------

+ ./database/migrations/2017_04_17_065656_create_projects_table.php
+ ./database/factories/ModelFactory.php
+ ./database/seeds/ProjectsTableSeeder.php
+ ./database/seeds/DatabaseSeeder.php (Updated)
x ./app/Models/Model.php (Skipped)
+ ./app/Models/Project.php
+ ./app/Http/Controllers/ProjectsController.php
x ./app/Http/Requests/Request.php (Skipped)
+ ./app/Http/Requests/ProjectRequest.php
+ ./app/Observers/ProjectObserver.php
+ ./app/Providers/AppServiceProvider.php (Updated)
x ./app/Policies/Policy.php
+ ./app/Policies/ProjectPolicy.php
+ ./app/Providers/AuthServiceProvider.php (Updated)
+ ./routes/web.php (Updated)

--- Views ---
   + create_and_edit.blade.php
   + index.blade.php
   + show.blade.php
x ./resources/views/error.blade.php
Migrated: 2017_04_17_065656_create_projects_table

----------- -------------------- -----------
-----------   >DUMP AUTOLOAD<    -----------

效果图

file

未来计划

  • API
  • Admin
  • Auto fill FormRequest rule
  • Auto fill ModelFactory filed

感谢


Practice makes perfect.

本帖由系统于 8个月前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 18
bestony

以后造轮子更加方便了!

1年前

infyomlabs/laravel-generator的功能类似吧,另外问一下支持Laravel 5.4吗?

1年前
overtrue

:heart:

1年前

@iVanilla infyom 的更加完善,支持swagger,json配置导入等。
不过infyom也有蛮多坑的

1年前

@linzi007 到现在都不支持5.4

1年前

@iVanilla 只是个工具嘛,自己拿过来改改

1年前
nickfan

赞一个先。
其实一直想做一个以变量、文件名为模板的generator,按模板目录生成对应目录结构的文件,文件内容也是变量替换。
按变量约定(CamelCase|snake_case)替换成对应格式的内容,更原始一点,功能定制其实更符合各人编码设计风格。

1年前
Summer

@nickfan
@linzi007
@iVanilla 这个项目主要是为了遵守自己公司 优帆远扬 制定的 Laravel 项目开发规范

1年前

@Summer 请问在5.4的报错修复了吗?

1年前

laravel 5.3.31
报错信息
PHP Fatal error : Trait 'Illuminate\Console\DetectsApplicationNamespace' not found in ...generator\src\Commands\ScaffoldMakeCommand.php on line 26
好像是改名了,是不是现在不支持5.3了?

1年前
Summer

@Payne
@iVanilla 支持 5.3 了

1年前

@Summer 我知道支持5.3,不过5.4改了那个命名空间,所以有兼容问题

1年前

支持5.4吗。。。。很喜欢这个功能啊。。。

1年前
Summer

@monkey 已修改为 ProjectsController

1年前

@Summer OK,下一个项目即将使用此生成器

1年前

我安装时候,系统提示:
您正在运行带有ssl/tls保护功能的Composer。
警告:访问packagist.org http上这是一个不安全的协议。
然后一直安装不成功

1年前

通过composer无法安装 windows7安装的wamp环境 php7.0+

8个月前
luphp_安轮粉丝

建议使用

homestead

@BestModer 并且统一使用教程环境

8个月前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!