farhad/igloo

创建基本 CRUD 功能的自动化流程

安装: 138

依赖: 0

建议者: 0

安全: 0

星星: 6

关注者: 2

分支: 0

开放问题: 1

类型:laravel-helper

v1.1 2018-11-09 08:58 UTC

This package is not auto-updated.

Last update: 2024-09-24 10:23:34 UTC


README

内容

变更日志

1.2 版本中的新功能

  • 包内支持图形用户界面
  • 包含下拉 API
  • 修复了几个错误

1.1 版本中的新功能

  • 支持 Laravel 5.7
  • 命名空间支持
  • 修复了几个错误

安装

  1. 要安装 Igloo 代码生成器,请运行以下命令

    composer require infancyit/igloo
  2. 运行以下命令以加载所有配置文件

    php artisan vendor:publish --provider="InfancyIt\Igloo\IglooServiceProvider"
  3. 为了在 API 中间件组或路由上允许 CORS,请将 HandleCors 中间件添加到 Kernel.php 文件中的 middleware 数组

    protected $middleware = [
            ... ... ... ... ...
            ... ... ... ... ...
         
            \Barryvdh\Cors\HandleCors::class,
        ];

使用

创建模型

让我们从创建一个基本的模型开始

模型将保存在 app\Models 文件夹中。

在项目根目录中运行以下命令。

php artisan make-model Book

如果您想添加 fillableguarded 值,也可以传递列的列表

php artisan make-model Book --fillable=name,author,published_date

或者

php artisan make-model Book --guarded=id

或者

php artisan make-model Book --fillable=name,author,published_date --guarded=id

创建服务

让我们创建一些基本的 服务,这些服务将扩展来自 app\ServicesBaseService

在项目根目录中运行以下命令。

php artisan make-service Book

创建仓库

让我们创建一些基本的 仓库,这些仓库将扩展来自 app\RepositoriesBaseRepository

在项目根目录中运行以下命令。

php artisan make-repository Book

创建转换器

让我们创建一个基本的 转换器

转换器将在 app/Transformers/Api 文件夹中创建。

在项目根目录中运行以下命令。

php artisan make-transformer Book id,name,author,published_date

在创建 转换器 时,需要 attributes 列表。所有列应该由单个 , (逗号) 分隔。这将创建如下主部分

public function getTransformableFields($entity)
    {
        return [
            'id'                   => (int) $entity->id,
            'name'                 => $entity->name,
            'author'               => $entity->author,
            'published_date'       => $entity->published_date
        ];
    }

创建请求

让我们创建一个基本的 请求

转换器将在 app/Request/Api 文件夹中创建。

在项目根目录中运行以下命令。

php artisan make-request Book id,name,author,published_date

在创建 请求 时,需要 attributes 列表。所有列应该由单个 , (逗号) 分隔。这将创建如下主部分

public function rules()
    {
        return [
            'name'                   => 'required',
            'author'                 => 'required',
            'published_date'         => 'required'
        ];
    }

创建路由

您还可以为模型创建 API 路由。在项目根目录中运行以下命令。

php artisan make-route Book

此命令的输出如下

///////////////////////////// Book Routes //////////////////////////////
Route::group(['prefix' => 'book', 'namespace' => 'Api'], function () {
    Route::get('index', 'BookController@index')->name('book.index');
    Route::post('create', 'BookController@store')->name('book.store');
    Route::post('update', 'BookController@update')->name('book.update');
    Route::delete('delete', 'BookController@delete')->name('book.delete');
});

此命令不会保存任何内容。您需要从控制台复制此段并将其粘贴到您的 web.phpapi.php 文件中。控制器名称的假设将是 [模型名]Controller。

安装

许可证

Igloo 代码生成器是免费软件,根据 MIT 许可证的条款分发。