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

所属分类: 网络编程 / PHP编程 阅读数: 1078
收藏 0 赞 0 分享

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

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

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

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

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

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

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

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

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

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

模块的生成

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

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


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

点击Generate生成代码。

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


浏览器输入如下地址:

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

访问的是user模块


提示你

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。


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


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

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

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

CRUD方法生成

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

下面来使用Kartik CRUD Generator来生成CRUD方法060414_0228_Yii2yii2kar1.png

需要注意的是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

060414_0228_Yii2yii2kar2.png

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

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

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

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

更多精彩内容其他人还在看

php实现的美国50个州选择列表实例

这篇文章主要介绍了php实现的美国50个州选择列表实例,可实现让当前州为选中状态的功能,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP使用递归生成文章树

写递归函数,可考虑缓存,定义一些静态变量来存上一次运行的结果,多程序运行效率很有帮助.大概步骤如下:首先到数据库取数据,放到一个数组,然后把数据转化为一个树型状的数组,最后把这个树型状的数组转为html代码。下面我们来看个实例
收藏 0 赞 0 分享

wordpress安装过程中遇到中文乱码的处理方法

这篇文章主要介绍了wordpress安装过程中遇到中文乱码的处理方法,是个人项目中遇到的一个奇葩事件,经过一番研究,终于解决,这里记录下来分享给大家,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

php的crc32函数使用时需要注意的问题(不然就是坑)

这篇文章主要介绍了php的crc32函数使用时需要注意的问题(不然就是坑) ,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP中把对象转换为关联数组代码分享

这篇文章主要介绍了PHP中把对象转换为关联数组代码分享,本文直接给出实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

php检测url是否存在的方法

这篇文章主要介绍了php检测url是否存在的方法,涉及php中get_headers及正则匹配的技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

php获取twitter最新消息的方法

这篇文章主要介绍了php获取twitter最新消息的方法,涉及php操作curl及正则替换的技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

php遍历CSV类实例

这篇文章主要介绍了php遍历CSV类,实例分析了php针对csv文件的打开、读取及遍历的技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP使用mysqldump命令导出数据库

最近用php写一个数据备份的功能。做法是使用php的system函数执行mysqldump命令,进行备份,这里分享给大家,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

PHP用反撇号执行外部命令

shell_exec() 命令行实际上仅是反撇号 ` 操作符的变体,如果您编写过 shell 或 Perl 脚本,您就知道可以在反撇号操作符内部捕捉其他命令的输出。
收藏 0 赞 0 分享
查看更多