从零开始学YII2框架(五)快速生成代码工具 Gii 的使用


Posted in PHP onAugust 20, 2014

Yii2 框架 之所以称之为高效快速开发的一款框架,是因为有一个神奇的工具Gii

用过Yii1框架的Coder都知道,Gii可以为你快速生成代码,也就是说搭建一个可以增删改查的WebApp可能一行代码都不用写。

当然作为Coder,不写代码怎么能实现我们想要的功能呢。

上次介绍了如何安装Yii框架,本次介绍一下如何使用gii工具快速实现CRUD功能。

框架安装完成后可以通过如下链接访问Gii工具

http://localhost/yii2test/backend/web/index.php?r=gii

从零开始学YII2框架(五)快速生成代码工具 Gii 的使用

Yii2的Gii工具使用了Bootstrap,对比Yii1看起来漂亮了许多。

yii2框架提供的生成工具有6个:Model,CRUD,Controller,Form,Module,Extension

我安装了一个yii2-kartikgii插件,此插件是用来生成Kartik模式的CRUD方法的。

本次就拿Kartik Crud配合默认生成工具来讲解。

从零开始学YII2框架(五)快速生成代码工具 Gii 的使用

模块的生成

如果你想实现应用模块化, 那么Module Generator能帮助到你。点击Module Generator生成模块

生成一个名为“user”的模块

从零开始学YII2框架(五)快速生成代码工具 Gii 的使用

点击Preview会看到Gii会帮助我们生成三个文件,可以点击链接预览代码。

点击Generate生成代码。

代码生成完毕,需要配置文件backend/config/main.php,把模块添加到应用里。

从零开始学YII2框架(五)快速生成代码工具 Gii 的使用

浏览器输入如下地址:

http://localhost/yii2test/backend/web/index.php?r=user

访问的是user模块

从零开始学YII2框架(五)快速生成代码工具 Gii 的使用

提示你

This is the view content for action "index". The action belongs to the controller "backend\modules\user\controllers\DefaultController" in the "user" module.

You may customize this page by editing the following file:

D:\WAMP\www\yii2test\backend\modules\user\views\default\index.php

这个界面内容访问的是模块user下的defaultController执行的是index这个action。

你可能需要自定义这个页面通过修改模块下的views文件index.php

模型的生成

模型的生成首先得配置数据库配置文件,路径:yii2test/common/config/main-local.php。

从零开始学YII2框架(五)快速生成代码工具 Gii 的使用

配置好数据库,我们使用Model Generator来生成对应的模型。

从零开始学YII2框架(五)快速生成代码工具 Gii 的使用

yii2会读取数据库中的表,如果数据库中没有user这个表。是无法读取数据库字段自动生成代码的。

这里注意填写namespace,带有路径的指定到模块user下的models。

建议勾选 Enable I18N,可以国际化WebApp。点击Generate生成代码。

CRUD方法生成

这里我使用的是插件yii2-kartikgii。关于yii2-kartikgii的安装和使用参照《Yii2 插件kartikgii》

下面来使用Kartik CRUD Generator来生成CRUD方法从零开始学YII2框架(五)快速生成代码工具 Gii 的使用

需要注意的是Model Class、Search Model Class、Controller Class都需要配置路径指定到相应模块;Model ID是user。

点击Generator会生成8个可选的文件。主要是生成UserControler和View文件。

经过上面三步。我们不经意间就完成了MVC。那么我们看看自动生成的代码为我们展现出来的有什么信息。

浏览器输入地址

http://localhost/yii2test/backend/web/index.php?r=user/user

从零开始学YII2框架(五)快速生成代码工具 Gii 的使用

此页面访问的是模块user下的user数据表模型CRUD方法。代码生成时候默认显示了表中的5个字段。使用的是Kartikgii插件。对比框架自带的CRUD方法生成的界面相对漂亮些。把表格放在bootstrap - panel标签下。并且添加了导出表格、重置表格等功能。

至此我们只是简单的配置了下config文件,没有编写一行代码。就实现了WebApp对数据表的操作功能。

Yii框架是不是很强大,很好用呢。至于我们对表怎么操作,完全可以自定义。后续就可以投入代码编写中了。

Yii框架帮助我们缩减了很多代码开发的工作量。可以称之为高效的PHP开发框架。

PHP 相关文章推荐
一个改进的UBB类
Oct 09 PHP
使用PHPMyAdmin修复论坛数据库的图文方法
Jan 09 PHP
header跳转和include包含问题详解
Sep 08 PHP
php.ini 配置文件的深入解析
Jun 17 PHP
使用php验证复选框有效性的示例
Nov 13 PHP
php导出word格式数据的代码实例
Nov 25 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
Jun 12 PHP
php图片添加文字水印实现代码
Mar 15 PHP
php文件包含目录配置open_basedir的使用与性能详解
Apr 03 PHP
Laravel 集成 Geetest验证码的方法
May 14 PHP
PHP排序二叉树基本功能实现方法示例
May 26 PHP
解决Laravel使用验证时跳转到首页的问题
Nov 17 PHP
PHP面向对象程序设计之类常量用法实例
Aug 20 #PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
Aug 20 #PHP
PHP面向对象程序设计之接口用法
Aug 20 #PHP
从零开始学YII2框架(三)扩展插件yii2-gird
Aug 20 #PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
Aug 20 #PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
Aug 20 #PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 #PHP
You might like
mysql总结之explain
2012/02/27 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
php一个文件搞定微信jssdk配置
2016/12/12 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
Prototype 工具函数 学习
2009/07/23 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
jquery对ajax的支持介绍
2013/12/10 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
2014/09/03 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
2016/12/08 Javascript
原生js实现放大镜
2017/02/20 Javascript
AngularJS双向数据绑定原理之$watch、$apply和$digest的应用
2018/01/30 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
2020/11/09 Javascript
[54:24]Optic vs TNC 2018国际邀请赛小组赛BO2 第二场
2018/08/18 DOTA
Python面向对象编程基础解析(二)
2017/10/26 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
2017/12/20 Python
使用python获取csv文本的某行或某列数据的实例
2018/04/03 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
美国本地交易和折扣网站:LocalFlavor.com
2017/10/26 全球购物
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
SEPHORA丝芙兰德国官方购物网站:化妆品、护肤品和香水
2020/01/21 全球购物
教师的实习自我鉴定
2013/12/17 职场文书
临床医师专业个人自我评价
2014/01/08 职场文书
学期研究性学习个人的自我评价
2014/01/09 职场文书
《凡卡》教学反思
2014/04/09 职场文书
公安学专业求职信
2014/07/27 职场文书
开展创先争优活动总结
2014/08/28 职场文书
2014年国庆节寄语
2014/09/19 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
2015年度服装销售工作总结
2015/03/31 职场文书
节约用电倡议书
2015/04/28 职场文书
《乙女游戏世界对路人角色很不友好》OP主题曲无字幕动画MV公开
2022/04/05 日漫
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL
Redis基本数据类型哈希Hash常用操作命令
2022/06/01 Redis