rohinigeeks/laravel-sorcery

使用一条命令即可生成Laravel API/Scaffold/CRUD,包括控制器、仓库、模型、迁移、routes.php更新。

dev-master 2015-04-18 07:23 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:34:04 UTC


README

Total Downloads

Laravel Sorcery可以从MySQL模式生成Laravel Web应用的模板代码

此命令生成以下内容

  • 迁移文件
  • 模型
  • 仓库(可选)
  • 控制器
  • 视图
    • index.blade.php
    • show.blade.php
    • create.blade.php
    • edit.blade.php
    • fields.blade.php
  • 更新routes.php

以下是完整文档。

开始步骤

  1. 将此包添加到composer.json中

     "require": {
         "rohinigeeks/laravel-sorcery": "dev-master"
     }
    
  2. 运行composer update

     composer update
    
  3. 将ServiceProviders添加到config/app.php中的providers数组中。
    由于我们使用这两个包作为依赖项illuminate/html & laracasts/flash
    因此,我们还需要添加这些ServiceProviders。

     'Illuminate\View\ViewServiceProvider',
     'Illuminate\Html\HtmlServiceProvider',
     'Laracasts\Flash\FlashServiceProvider'
     'Rohinigeeks\Generator\GeneratorServiceProvider'
    

为了方便,将这些外观添加到config/app.php中的alias数组中。

	'Form'  => 'Illuminate\Html\FormFacade',
	'HTML'  => 'Illuminate\Html\HtmlFacade',
	'Flash' => 'Laracasts\Flash\Flash'
  1. 发布generator.php

     php artisan vendor:publish --provider='Rohinigeeks\Generator\GeneratorServiceProvider'
    
  2. 运行 artisan 命令以生成模型的API,或生成带有视图的Web应用的scaffold。

     php artisan rohinigeeks.generator:api ModelName
     php artisan rohinigeeks.generator:scaffold ModelName
    

    例如:

     php artisan rohinigeeks.generator:api Project
     php artisan rohinigeeks.generator:api Post
    
     php artisan rohinigeeks.generator:scaffold Project
     php artisan rohinigeeks.generator:scaffold Post
    
  3. 现在你可以开始了。 :)

文档

生成器配置文件

配置文件(config/generator.php)包含所有生成文件的路径

path_migration - 迁移文件的生成路径
path_model - 模型文件的生成路径
path_repository - 仓库文件的生成路径
path_controller - 控制器文件的生成路径
path_views - 视图的创建路径
path_request - 请求文件的创建路径
path_routes - routes.php的路径(如果您使用任何自定义路由文件)

namespace_model - 模型的命名空间
namespace_repository - 仓库的命名空间
namespace_controller - 控制的命名空间
namespace_request - 请求的命名空间

字段输入

以下是字段的输入,您可以通过它来指定输入。

    fieldName:fieldType,options:fieldOptions

例如:

    email:string:unique
    email:string:unique,default('me@mitul.me')
    title:string,100
    price:flat,8,4

参数将按照所有类型的Blueprint类函数的相同顺序排列。选项将按照输入的顺序打印出来,除了唯一和主键。

API响应结构

请记住:此响应结构基于我的大多数API响应结构,您可以在生成控制器文件后将其更改为自己的API响应。

成功

    {
        "flag":true,
        "message":"success message",
        "data":{}
    }

数据可以按照响应方式。

失败

    {
        "flag":false,
        "message":"failure message",
        "code": 0
        "data":{}
    }

数据将是可选的。代码将是错误代码。

生成的视图

在生成scaffold时,所有视图都将创建具有基本的CRUD功能。(目前删除功能尚未启用)

视图将创建在resources/views/modelName文件夹中,

    index.blade.php - Main Index file for listing records
    create.blade.php - To insert a new record
    edit.blade.php - To edit a record
    fields.blade.php - Common file of all model fields, which will be used create and edit record
    show.blade.php - To display a record

致谢

此API生成器是从laravel-api-generator派生出来的,由以下人员创建:

  1. Jamison Valenta
  2. Mitul Golakiya.
  3. [Bernhard Breytenbach] (https://github.com/Xethron)

屏幕截图

命令执行

![Image of Command Execution] (http://drive.google.com/uc?export=view&id=0B5kWGBdVjC7RbTRvTEswQ0tfOEU)

生成的文件 & routes.php

![Image of Generated Files] (http://drive.google.com/uc?export=view&id=0B5kWGBdVjC7RZ1VMcXlsM1Z2MDg)

迁移文件

![Image of Migration File] (http://drive.google.com/uc?export=view&id=0B5kWGBdVjC7RMWtnN1RxUzdmTUE)

模型文件

![模型文件图片] (http://drive.google.com/uc?export=view&id=0B5kWGBdVjC7RRUJfdHE4MVRaeXM)

仓库文件

![仓库文件图片] (http://drive.google.com/uc?export=view&id=0B5kWGBdVjC7ROUdNVTVORm5nQ1E)

控制器文件

![控制器文件图片] (http://drive.google.com/uc?export=view&id=0B5kWGBdVjC7RREVacVlOZDhxNDQ)

视图文件

![视图文件图片] (http://drive.google.com/uc?export=view&id=0B5kWGBdVjC7RQW5FOXExOFhEbms)