Laravel Gii は sunshinev/laravel-gii を参照し、laravel7 + vue + elemnt-ui アーキテクチャを使用し、API は resftul API を使用し、フロントエンドとバックエンドは分離され、プロジェクトコードは php 職人の Vendor:publish を使用してリリースされ、依存しません拡張機能自体にあり、以下のプロジェクトの各ディレクトリにデプロイされます。必要に応じて柔軟に変更できます。
[目次]
stub
テンプレートに入力されます。MySQL テーブル構造を解析し、フィールドに基づいてテンプレートを生成するため、現在生成される Model クラスは MySQL のみをサポートします。MySQL テーブル構造の 3 つのフィールドid
、 created_at
、およびupdated_at
存在する必要があります。
### 拡張パッケージ用に最初にlaravel7をインストールしてください(他のバージョンはテストされていません)
作曲家経由
$ composer require skyyouare/laravel-gii --dev
需要先按
1、composer require laravel/ui --dev
2、php artisan ui vue
3、npm install
4、npm install element-ui vue-router qs --save-dev
5、php artisan vendor:publish --tag gii.config --tag gii.views --tag gii.images --tag gii.js --tag gii.blade --tag gii.sass --tag gii.controller --tag gii.request --tag gii.route --tag gii.exception --tag gii.provider --force
6、运行 npm run watch-poll 编译
リリース完了後、以下のルートでGiiページにアクセスできるようになります。データベース(エラーが報告されます)、Webサイトのドメイン名(IP)などを設定してください。
http:[domain]/gii/model
フォームの説明
生成されたファイル リスト。青は新しいファイルを表し、赤は異なる既存のファイルを表します。白は既存のファイルを表します。
たとえば、生成された Model 名前空間がAppModelsAdminAlarmLog
として指定されている場合、生成されるディレクトリ構造は次のようになります。
.app
├── Http
│ └── Requests
│ └── Admin
│ └── AlarmLogRequests.php
├── Models
│ └── Admin
│ ├── AlarmLogModel.php
│ └── AlarmLog.php
├── Observers
│ └── Models
│ └── Admin
└── └── AlarmLogObserver.php
上記の構造を通じて、名前空間とディレクトリの関係を見つけることができます。
CRUD の作成は、以前に作成したモデルに依存する必要があります。
この操作により、以下も生成されます。
フォームの説明
指定した名前空間のクラスがAppHttpControllersAdmin
、コントローラーがAlarmLogController
、関連付けられたモデルがAppModelsAdminAlarmLog
の場合、生成されるディレクトリ構造は次のようになります。
app
├── Http
│ └── Controllers
│ │ └── Admin
│ │ └── AlarmLogController.php
│ └── Requests
│ └── Admin
│ └── AlarmLogRequests.php
├── Models
│ └── Admin
│ ├── AlarmLogModel.php
│ └── AlarmLog.php
└── Observers
└── Models
└── Admin
└── AlarmLogObserver.php
および生成されたビュー ファイル
.resources
└── pages
└── admin
└── alarmlog
├── list.vue
├── edit.vue
├── create.vue
└── detail.vue
注: ルートは複数回追加されません。ルートは、コントローラーの名前空間AppHttpControllersAdminAlarmLogController
に応じて自動的に追加されますので、ルートにアクセスしてください。直接。
//--------- append route 2020-08-27 09:58:16----------
{
name: 'alarmlog',
path:'/alarmlog/list',
component: resolve =>void(require(['./pages/alarmlog/list.vue'], resolve))
},
{
name: 'alarmlog',
path:'/alarmlog/create',
component: resolve =>void(require(['./pages/alarmlog/create.vue'], resolve))
},
{
name: 'alarmlog',
path:'/alarmlog/edit',
component: resolve =>void(require(['./pages/alarmlog/edit.vue'], resolve))
},
{
name: 'alarmlog',
path:'/alarmlog/detail',
component: resolve =>void(require(['./pages/alarmlog/detail.vue'], resolve))
},
包括的な追加、削除、変更機能が含まれています
詳細については、ライセンス ファイルを参照してください。