从零开始学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 相关文章推荐
php5.3 废弃函数小结
May 16 PHP
PHP 多维数组的排序问题 根据二维数组中某个项排序
Nov 09 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
Feb 22 PHP
使用php get_headers 判断URL是否有效的解决办法
Apr 27 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
Feb 18 PHP
PHP正则表达式之捕获组与非捕获组
Nov 06 PHP
php文件缓存方法总结
Mar 16 PHP
PHP+MySql+jQuery实现的"顶"和"踩"投票功能
May 21 PHP
PHP实现的一致性Hash算法详解【分布式算法】
Mar 31 PHP
PHP区块查询实现方法分析
May 12 PHP
php让json_encode不自动转义斜杠“/”的方法
Apr 27 PHP
关于PHP数组迭代器的使用方法实例
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
Joomla下利用configuration.php存储简单数据
2010/05/19 PHP
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
2020/10/30 PHP
prototype class详解
2006/09/07 Javascript
使用javascript创建快捷方式的简单实例
2013/08/09 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
javascript 用函数实现继承详解
2016/05/28 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
H5上传本地图片并预览功能
2017/05/08 Javascript
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
React-Native 组件之 Modal的使用详解
2017/08/08 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
2018/08/12 Javascript
详解如何解决Vue和vue-template-compiler版本之间的问题
2018/09/17 Javascript
JS数组实现分类统计实例代码
2018/09/30 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
js字符串处理之绝妙的代码
2019/04/05 Javascript
小程序如何使用分包加载的实现方法
2019/05/22 Javascript
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
使用python编写udp协议的ping程序方法
2018/04/22 Python
DJANGO-URL反向解析REVERSE实例讲解
2019/10/25 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
举例讲解Python装饰器
2020/12/24 Python
职业生涯规划书前言
2014/04/15 职场文书
幼儿园评语大全
2014/04/17 职场文书
志愿者活动总结报告
2014/06/27 职场文书
党的群众路线教育实践活动整改落实情况自查报告
2014/10/28 职场文书
2014年职称评定工作总结
2014/11/26 职场文书
市级三好学生评语
2014/12/29 职场文书
初级职称评定工作总结
2015/08/13 职场文书
初中思品教学反思
2016/02/20 职场文书