从零开始学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 相关文章推荐
PHP的FTP学习(二)
Oct 09 PHP
php 执行系统命令的方法
Jul 07 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
Jul 01 PHP
php中存储用户ID和密码到mysql数据库的方法
Feb 06 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
Jun 19 PHP
php去除数组中重复数据
Nov 18 PHP
php+mysql大量用户登录解决方案分析
Dec 29 PHP
php+ajax实时刷新简单实例
Feb 25 PHP
php.ini中的request_order推荐设置
May 10 PHP
php源码之将图片转化为data/base64数据流实例详解
Nov 27 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
Mar 15 PHP
yii2.0框架场景的简单使用示例
Jan 25 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
php+javascript的日历控件
2009/11/19 PHP
PHP调用MySQL存储过程并返回值的方法
2014/12/26 PHP
PHP安装memcache扩展的步骤讲解
2019/02/14 PHP
iframe 父窗口和子窗口相互的调用方法集锦
2010/12/15 Javascript
使用js在页面中绘制表格核心代码
2013/09/16 Javascript
js arguments,jcallee caller用法总结
2013/11/30 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
2014/01/06 Javascript
使用js判断TextBox控件值改变然后出发事件
2014/03/07 Javascript
angularjs实现与服务器交互分享
2014/06/24 Javascript
jQuery的load()方法及其回调函数用法实例
2015/03/25 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
JS对象是否拥有某属性如何判断
2017/02/03 Javascript
微信小程序 跳转方式总结
2017/04/20 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
详解Vue取消eslint语法限制
2018/08/04 Javascript
JS实现页面跳转与刷新的方法汇总
2019/08/30 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
[03:14]DOTA2斧王 英雄基础教程
2013/11/26 DOTA
python使用cookie库操保存cookie详解
2014/03/03 Python
Python多线程爬虫简单示例
2016/03/04 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
2017/04/24 Python
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
Python PIL图片添加字体的例子
2019/08/22 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
HTML5之web workers_动力节点Java学院整理
2017/07/17 HTML / CSS
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
申报职称专业技术个人的自我评价
2013/12/12 职场文书
开学典礼决心书
2014/03/11 职场文书
高中军训感言600字
2014/03/11 职场文书
2014党员整改措施思想汇报
2014/10/07 职场文书
2014年会计主管工作总结
2014/12/20 职场文书
个人事迹材料怎么写
2014/12/30 职场文书
2015年信贷员工作总结
2015/04/28 职场文书
教师节领导致辞
2015/07/29 职场文书