用过 Yii1 框架的 Coder 都知道, Gii 可以为你快速生成代码, 也就是说搭建一个可以增删改查的 webApp 可能一行代码都不用写上次介绍了如何安装 Yii 框架, 本次介绍一下如何使用 gii 工具快速实现 CRUD 功能
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 方法
需要注意的是 Model ClassSearch Model ClassController Class 都需要配置路径指定到相应模块; Model ID 是 user
点击 Generator 会生成 8 个可选的文件主要是生成 UserControler 和 View 文件
经过上面三步我们不经意间就完成了 MVC 那么我们看看自动生成的代码为我们展现出来的有什么信息
浏览器输入地址
http://localhost/yii2test/backend/web/index.php?r=user/user
此页面访问的是模块 user 下的 user 数据表模型 CRUD 方法代码生成时候默认显示了表中的 5 个字段使用的是 Kartikgii 插件对比框架自带的 CRUD 方法生成的界面相对漂亮些把表格放在 bootstrap - panel 标签下并且添加了导出表格重置表格等功能
至此我们只是简单的配置了下 config 文件, 没有编写一行代码就实现了 WebApp 对数据表的操作功能
Yii 框架是不是很强大, 很好用呢至于我们对表怎么操作, 完全可以自定义后续就可以投入代码编写中了
Yii 框架帮助我们缩减了很多代码开发的工作量可以称之为高效的 PHP 开发框架
来源: https://www.php1.cn/detail/php-66b99919dd.html