[扩展分享] Laravel 5.3 代码生成器 - summerblue/generator

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

感谢

本作品采用《CC 协议》,转载必须注明作者和本文链接
摈弃世俗浮躁,追求技术精湛
本帖由系统于 6年前 自动加精
Summer
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 18
bestony

以后造轮子更加方便了!

7年前 评论

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

7年前 评论

:heart:

7年前 评论

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

7年前 评论

@linzi007 到现在都不支持5.4

7年前 评论

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

7年前 评论
nickfan

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

7年前 评论
Summer

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

7年前 评论

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

7年前 评论

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

7年前 评论
Summer

@Payne
@iVanilla 支持 5.3 了

7年前 评论

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

7年前 评论
lijinma

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

7年前 评论
Summer

@monkey 已修改为 ProjectsController

7年前 评论
monkey

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

7年前 评论

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

7年前 评论
云客网络工作室

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

6年前 评论
luphp_安轮粉丝

建议使用

homestead

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

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!