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

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

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

本次介绍一下如何使用gii工具快速实现CRUD功能。

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

http://网站域名/index.php?r=gii   例如:http://admin.scom/indexlocal.php?r=gii

如果出现下图所示:::那么就需要修改yii中的配置:

修改如下,找到config文件夹中的main-local.php文件,,,将本机的ip添加到允许操作Gii的ip数组中::如下图

然后在地址栏输入:http://网站域名/index.php?r=gii就会出现如下图所示:

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

1.模块的生成

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

例如:点击Module Generator生成模块生成一个名为“user”的模块

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

点击Generate生成代码。

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

    'modules' => [
       'apublic' => [
           'class' => 'adminc\modules\user\Module',
       ]
],

浏览器输入如下地址:

http://admin.com/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\admin\modules\user\views\default\index.php

这个界面内容访问的是模块user下的defaultController执行的是index这个action。

你可能需要自定义这个页面通过修改模块下的views文件index.php

2.模型的生成

模型的生成首先得配置数据库配置文件,路径:WWW/common/config/main-local.php。

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

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

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

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

3.CRUD方法生成

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

下面来使用Kartik CRUD Generator来生成CRUD方法

需要注意的是Model Class、Search Model Class、Controller Class都需要配置路径指定到相应模块;Model ID是user。

点击Generator会生成8个可选的文件。主要是生成UserControler和View文件。

经过上面三步。我们不经意间就完成了MVC。那么我们看看自动生成的代码为我们展现出来的有什么信息。

浏览器输入地址

http://admin.com/web/index.php?r=user/user

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

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

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

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

YII2使用Gii生成代码相关推荐

  1. yii mysql gii_Yii 框架使用Gii生成代码操作示例

    本文实例讲述了Yii 框架使用Gii生成代码操作.分享给大家供大家参考,具体如下: 开始 Gii Gii 是 Yii 中的一个模块. 可以通过配置应用的 modules 属性开启它.通常来讲在 con ...

  2. yii2 使用gii生成mongo模型 控制器以及YII2 多MongoDB配置和使用

    yii2中我们可以使用mongo非关系数据库操作,你那么能不能像使用数据库那样来使用orm操作呢?当然可以的. 下面我们来安装mongo: 1.安装mongo: composer require -- ...

  3. Yii2 使用四 使用Gii生成代码

    1.设置config/web.php $config = [ ... ];if (YII_ENV_DEV) {$config['bootstrap'][] = 'gii';$config['modul ...

  4. 【PHP框架 | Yii2 系列3】 - Gii 生成代码

    前言 Yii 框架是一个免费且开源的 Web 应用程序开发框架- 额- 还是看官方的更全面

  5. yii mysql gii_Yii2.0开发——使用Gii生成代码的简单实践

    下面以一个简单的学生信息为例介绍Gii的简单使用方法. 首先利用数据书迁移脚本创建数据库(默认数据库连接已经配置成功). 输入命令: ./yii migrate/create create_stude ...

  6. YII2框架 Gii生成CURD 的问题

    今天在学习YII2 creating Module 过程当中 遇到问题创建Module后  然后添加CRUD过程里 VIEW PATH路径问题 导致了 无法在指定路径生成CRUD文件 文件全部生成到了 ...

  7. 【PHP学习】Yii2框架Gii模块使用

    [PHP学习]Yii2框架Gii模块使用 开启Gii模块 Yii2中使用一个模块通常需要到config文件夹下的web.php下去配置,如下图我们就可以看到Gii模块的使用只有在YII_ENV_DEV ...

  8. 自定义gii生成模块

    主要形成modal(弹出窗)模板风格: 1.将vendor\yiisoft\yii2-gii\generators\crud\default复制到backend\components\gii-cust ...

  9. C#分析数据库结构,使用XSL模板自动生成代码

    <html> <head> <TITLE>分析数据库结构,自动生成代码</TITLE> <meta http-equiv="Conten ...

最新文章

  1. FactoryMethod工厂方法模式升级成AbstractFactory抽象工厂模式
  2. ArcGIS Engine空间高效查询(IIdentify方法)
  3. 走近webpack(3)--图片的处理
  4. Scala 函数传名调用(call-by-name)
  5. 前端学习(1677):前端系列实战课程之游戏初始化
  6. 2019年你准备学C/C++,这些硬知识你应该知道!
  7. 20145309李昊《网络对抗》MSF应用基础
  8. go使用mongodb
  9. 尝试AD19从焊盘中间出线
  10. 【自然语言处理】韩语基础与入门(语法篇)
  11. 2020邮储银行实习面试经验
  12. 锐捷服务器虚拟化技术_打造数字新基建 | 锐捷5G云小站助力行业数字化转型
  13. VC浏览器相关的学习(五)(在BHO中建立对话框)--解决CreateDialog的1813错误
  14. navicat使用和测试
  15. 抖音无水印视频批量下载
  16. HTTP协议与HTTPS协议详解(含常见面试题)
  17. 业余草分享面试题,JVM结构、GC工作机制详解
  18. node joi自定义错误提示,并处理返回给客户端
  19. 司猫小蓝的爸爸|ONES 人物
  20. 学习笔记 | EXCEL进阶

热门文章

  1. Word 2007中文版完全自学手册视频教程
  2. webservice 本地测试把localhost 改成主机ip
  3. 永久删除文件怎么恢复?
  4. 白盒测试之Junit测试工具的使用
  5. SpringBoot集成aspose实现cad、word、excle、ppt在线预览
  6. python卡方拟合优度检验_如何使用Python中的科学库执行卡方拟合优度检验?
  7. 苹果cmsv10蓝色简约响应式小鸟影视主题模板
  8. 信息学奥赛一本通2038
  9. MATLAB2018b和VS2017的混编
  10. 小白写了一堆if-else,大神实在看不下去了,竟然用策略模式直接摆平了