从零开始学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通用分页类page.php[仿google分页]
Aug 31 PHP
PHP mb_convert_encoding 获取字符串编码类型实现代码
Apr 26 PHP
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
Sep 30 PHP
PHP访问MYSQL数据库封装类(附函数说明)
Dec 04 PHP
php处理斐波那契数列非递归方法
Feb 04 PHP
Fine Uploader文件上传组件应用介绍
Jan 06 PHP
php采用file_get_contents代替使用curl实例
Nov 07 PHP
PHP读取大文件的几种方法介绍
Oct 27 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
Jan 22 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
Mar 31 PHP
PHP数组遍历的几种常见方式总结
Feb 15 PHP
Laravel框架Auth用户认证操作实例分析
Sep 29 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 函数学习简单小结
2010/07/08 PHP
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
PHP执行linux命令常用函数汇总
2016/02/02 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
JavaScript设计模式之观察者模式(发布者-订阅者模式)
2014/09/24 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
vue项目中v-model父子组件通信的实现详解
2017/12/10 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
jQuery实现表格隔行换色
2018/09/01 jQuery
vue-cli 使用axios的操作方法及整合axios的多种方法
2018/09/12 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
antd form表单数据回显操作
2020/11/02 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
Django实现基于类的分页功能
2019/10/31 Python
如何基于python生成list的所有的子集
2019/11/11 Python
Python 面向对象之类class和对象基本用法示例
2020/02/02 Python
凯特方迪化妆品官网:Kat Von D Beauty
2016/11/15 全球购物
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
美国快时尚彩妆品牌:Winky Lux(透明花瓣润唇膏)
2018/11/06 全球购物
年终自我鉴定
2013/10/09 职场文书
高中自我评价分享
2013/12/05 职场文书
遗产继承公证书
2014/04/09 职场文书
乒乓球兴趣小组活动总结
2014/07/08 职场文书
爬山的活动方案
2014/08/16 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
React列表栏及购物车组件使用详解
2021/06/28 Javascript