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