真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何生成包laravel-generator

這篇文章將為大家詳細講解有關(guān)如何生成包laravel-generator,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司是專業(yè)的達日網(wǎng)站建設(shè)公司,達日接單;提供做網(wǎng)站、成都網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行達日網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

Laravel-generator 代碼生成包

https://github.com/HogenYuan/laravel-generator

Introduction

由于最近在做后臺,需要類似于Gii的代碼生成包,網(wǎng)上可能有比較豐富的包,不過沒怎么去了解過,就根據(jù)自己習(xí)慣隨手寫了個方便自己使用的包,寫的比較匆忙所以代碼可能比較粗糙。目前只寫了后端的,前端有時間在寫。

1. 根據(jù)自定義框架目錄,修改*.stub生成自定義的初始代碼

2. 支持model + filter + request + resource + service + controller + migration + test

3. 自動讀取同名數(shù)據(jù)表并填充到 model + resource + migration 的字段


Installation

composer require hogen\laravel-generator

php artisan vendor:publish --tag=generator
  • config/app.php

'providers' => [

    ···    App\Console\Commands\Generator\GeneratorServiceProvider::class];

Run

  • 請先根據(jù)自己的框架目錄和代碼格式修改默認代碼格式stub文件

## name : 必填,短橫式命名的資源名稱}## --module= : 必填,指定三級模塊(大小寫規(guī)范) 如:GasStation/MainCard/Balance## --prefix= : 指定二級前綴(大小寫規(guī)范) 默認:AdminApi## --baseDir= : 指定一級目錄(大小寫規(guī)范) 默認:Http## --force : 覆蓋已存在文件## --filter : 使用filter篩選類## --test : 生成測試文件例子:

//有大小寫規(guī)范

* Path: App\Http\Controller\AdminApi\User\Example 

php artisan admin:make-resource testExample --force --baseDir=Http --prefix=AdminApi --module=User\Example

* Path: App\Admin\Controller\User\Example

php artisan admin:make-resource testExample --force --filter --baseDir=Admin  --module=User\Example

Deployment自定義配置

Generator\MakeResource.php

protected $types = [

    'model', 'request', 'resource', 'service', 'controller', 'test', 'migration'];
  • 選擇需要生成的組件,filter和test默認不開啟

  • 有先后順序之分,需按照上圖順序填寫

目錄規(guī)則

protected $pathFormat = [

    'model'      => ['inBaseDir' => false, 'prefix' => ''],

    'service'    => ['inBaseDir' => false, 'prefix' => ''],

    'test'       => ['inBaseDir' => false, 'prefix' => true],

    'request'    => ['inBaseDir' => true, 'prefix' => true],

    'resource'   => ['inBaseDir' => true, 'prefix' => true],

    'controller' => ['inBaseDir' => true, 'prefix' => true],

    'migration'  => ['inBaseDir' => false, 'prefix' => ''],];
  • 在此修改各模塊的路徑規(guī)則設(shè)置,會影響各文件的命名空間和類名

  • inBaseDir決定是否在BaseDir內(nèi),默認Http

  • prefix決定是否在二級前綴內(nèi)

Filter篩選器

protected $createFilter = false;protected $baseFilterHelperPath = "Models\Traits\Filter";
  • 默認不開啟

  • 生成的filter基類的路徑 例: App/Models/Traits/Filter.php

  • 路徑生成只遵循$pathFormat中model的inBaseDir規(guī)則,不遵循prefix,避免個trait的生成

數(shù)據(jù)庫字段填充

/**

 * 手動配置

 * resource文件中不需要添加到 $fillable 的字段

 *

 * @var string[]

 */protected $resourceNoFillableFields = [

    'update_time',

    'updated_time',

    'delete_time',

    'deleted_time',];/**

 * 手動配置

 * model文件中不需要添加到 $fillable 的字段

 *

 * @var string[]

 */protected $modelNoFillableFields = [

    'id',

    'create_time',

    'created_time',

    'update_time',

    'updated_time',

    'delete_time',

    'deleted_time',];

Code Format 修改默認代碼格式

  • 參考各stub配置自定義默認格式

  • 以下stub為簡化后的代碼習(xí)慣,按需修改

Generator\stubs\*.stub

validated();

        $dummyModels = DummyModel::query()

            ->filter($validated)

            ->orderByDesc('id')

            ->paginate();

        return DummyResource::collection($dummyModels);

    }

    ···

}

關(guān)于“如何生成包laravel-generator”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


當(dāng)前名稱:如何生成包laravel-generator
新聞來源:http://weahome.cn/article/jcdidg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部