Laravel Gii 爲中小型項目快速建立管理後臺,提供了一種新的可能。使用的過程當中,你會發現很輕量,自由度很高,內部實現邏輯簡單。特別是熟悉iView的開發者,在經過Gii生成的頁面上,能夠根據本身的需求自定義頁面,經過修改默認Input組件爲其餘功能豐富的iView組件,能夠來構造更加複雜的管理頁面。php
你會發現它沒有提供用戶登陸、權限功能,轉而只是提供更加輕量化的頁面建立,這點會讓不少開發者們感到更加溫馨,能夠自由靈活的調整、自定義頁面,來實現不一樣的能力。css
感謝支持,歡迎在Issue提出意見html
開始體驗吧前端
[TOC]vue
stub
模板。https://sunshinev.github.io/l...laravel
由於是解析MySQL的表結構,而且根據字段生成模板,因此目前生成的Model類時只支持MySQL,可是生成的CRUD管理後臺,可使用支持mongo和MySQL兩種connection。git
MySQL表結構請保證id
,created_at
,updated_at
三個字段必須存在。github
Composer require sunshinev/laravel-gii -vvv
該操做會發布assets靜態文件,到public目錄下
php artisan vendor:publish --tag laravel-gii
在發佈完成後,已經進行了路由的註冊,能夠經過下面的路由訪問Gii頁面數據庫
http:[domain]/gii/model
表單說明前端框架
Jenssegers\Mongodb\Eloquent\Model
,MySQL用Illuminate\Database\Eloquent\Model
)生成的文件列表,藍色表明全新文件,紅色表明已有文件可是存在不一樣,白色表明已有文件。
好比指定生成的Model命名空間爲App\Models\Admin\Users
,那麼生成的目錄結構爲:
.app ├── Models │ └── Admin │ ├── UsersModel.php │ └── Users.php └── Observers └── Models └── Admin └── UsersObserver.php
經過上面的結構,咱們能夠發現命名空間與目錄之間的關係。
CRUD的建立,須要依賴以前建立的模型。
該操做會同時生成:
表單說明
若是指定Controller的類爲App\Http\Controllers\Admin\UsersController
,以及關聯的Model爲App\Models\Admin\Users
,那麼生成的目錄結構爲:
app ├── Http │ └── Controllers │ └── Admin │ ├── RenderController.php │ └── UsersController.php ├── Models │ └── Admin │ ├── UsersModel.php │ └── Users.php └── Observers └── Models └── Admin └── UsersObserver.php
以及生成的視圖文件
.resources └── views └── admin ├── layouts │ └── default.blade.php └── users ├── create.blade.php ├── detail.blade.php ├── edit.blade.php └── list.blade.php
經過上面的結構,咱們能夠發現命名空間與目錄之間的關係。會發現admin
實際想當於modules
,經過模塊化的概念,來劃分功能。
CRUD的路由會自動添加到路由文件中,根據Controller的命名空間App\Http\Controllers\Admin\UsersController
會生成以下的路由,因此請直接訪問路由
Route::get('/admin/layout', 'Admin\RenderController@index'); Route::get('/admin/layout/render', 'Admin\RenderController@render');
從配置的MySQL數據庫中拉取列表
工具會將新生成的文件與已存在的文件進行差別對比,方便查看修改部分,控制修改範圍。
新生成的頁面,會自動追加到路由配置文件
包含全面的增刪查改功能
取消按鈕放大,防止誤刪
若是生成完Model以後,默認的會使用env中配置的connection,若是須要調整,須要修改生成的Model文件。
// if connection is empty ,use default connection protected $connection = '';
後臺頁面統一使用iview做爲前端框架,目前支持iview4的全部組件,可直接在生成的blade模板文件中添加組件便可。
生成的CRUD後臺使用的是基於laravel-fe-render和base-fe 兩個項目,其中base-fe
是Vue+iview的打包,以下:
import Vue from 'vue' import ViewUI from 'view-design'; import 'view-design/dist/styles/iview.css'; Vue.use(ViewUI);
能夠Fork base-fe
項目,而後進行iview升級,將生成的dist目錄放到laravel-fe-render
項目的assets
目錄,而後從新發布便可.
請參考 https://github.com/sunshinev/... 項目,Fork後作了細微調整
https://github.com/sunshinev/laravel-fe-render