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

时间:2022-08-26 12:37:41

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》

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

下面来使用kartik crud generator来生成crud方法

需要注意的是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开发框架。