用过Yii1框架的Coder都知道,Gii可以为你快速生成代码,也就是说搭建一个可以增删改查的WebApp可能一行代码都不用写。
当然作为Coder,不写代码怎么能实现我们想要的功能呢。
本次介绍一下如何使用gii工具快速实现CRUD功能。
访问
框架安装完成后可以通过如下链接访问Gii工具
http://localhost/yii2test/backend/web/index.php?r=gii
Yii2的Gii工具使用了Bootstrap,对比Yii1看起来漂亮了许多。
介绍
yii2框架提供的生成工具有6个:
- Model:根据表结果来生成模型类
- CRUD:生成Controller,并在Controller里面实现基类的CRUD,同时也会生成view文件。
- Controller:这个是单独生成一个Controller文件的和相关的view文件。
- Form:这个是根据输入的模型生成这个相应的表单。
- Module:这个用来生成Module
- Extension:这个用来生成一个Extension的结构
如果你想实现应用模块化, 那么Module Generator能帮助到你。
点击Module Generator生成模块,生成一个名为“user”的模块
点击Preview会看到Gii会帮助我们生成三个文件,可以点击链接预览代码。点击Generate生成代码。
添加模块到应用程序中
代码生成完毕,需要配置文件backend/config/main.php,把模块添加到应用里。
其中modules为config数组中的一个键,user为这个模块的唯一标识,可在程序中通过user来访问这个模块。class为指定这个user模块对应的实例化的类。
访问的是user模块
浏览器输入如下地址:http://localhost/yii2test/backend/web/index.php?r=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 Generator来生成CRUD方法
需要注意的是Model Class、Search Model Class、Controller Class都需要配置路径指定到相应模块,如果是只有一个应用程序,yii2默认的根为app(在yii1.x中为application).
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开发框架。