[扩展分享] 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 协议》,转载必须注明作者和本文链接
摈弃世俗浮躁,追求技术精湛
本帖由系统于 7年前 自动加精
Summer
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 18
bestony

以后造轮子更加方便了!

8年前 评论

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

8年前 评论

:heart:

8年前 评论

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

8年前 评论

@linzi007 到现在都不支持5.4

8年前 评论

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

8年前 评论
nickfan

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

8年前 评论
Summer

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

8年前 评论

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

8年前 评论

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

8年前 评论
Summer

@Payne
@iVanilla 支持 5.3 了

8年前 评论

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

8年前 评论
lijinma

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

8年前 评论
Summer

@monkey 已修改为 ProjectsController

8年前 评论
monkey

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

8年前 评论

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

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

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

7年前 评论
luphp_安轮粉丝

建议使用

homestead

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

7年前 评论

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