Yii 框架使用Gii生成代码操作示例

 更新时间:2020年05月19日 09:41:38   作者:人生如初见_张默  
这篇文章主要介绍了Yii 框架使用Gii生成代码操作,结合实例形式F分析了Yii 使用Gii生成代码基本操作步骤与相关注意事项,需要的朋友可以参考下

本文实例讲述了Yii 框架使用Gii生成代码操作。分享给大家供大家参考,具体如下:

开始 Gii

Gii 是 Yii 中的一个模块。 可以通过配置应用的 modules 属性开启它。通常来讲在 config/web.php 文件中会有以下配置代码:

$config = [ ... ];
 
if (YII_ENV_DEV) {
  $config['bootstrap'][] = 'gii';
  $config['modules']['gii'] = [
    'class' => 'yii\gii\Module',
  ];
}

这段配置表明,如果当前是开发环境, 应用会包含 gii 模块,模块类是 yii\gii\Module。

如果你检查应用的入口脚本 web/index.php, 将看到这行代码将 YII_ENV_DEV 设为 true:

defined('YII_ENV') or define('YII_ENV', 'dev');

鉴于这行代码的定义,应用处于开发模式下,按照上面的配置会打开 Gii 模块。你可以直接通过 URL 访问 Gii:

http://hostname/index.php?r=gii

信息: 如果你通过本机以外的机器访问 Gii,请求会被出于安全原因拒绝。 你可以配置 Gii 为其添加允许访问的 IP 地址:

'gii' => [
  'class' => 'yii\gii\Module',
  'allowedIPs' => ['127.0.0.1', '::1', '192.168.0.*', '192.168.178.20'] // 按需调整这里
],

生成活动记录类

选择 “Model Generator” (点击 Gii 首页的链接)去生成活动记录类。并像这样填写表单:

  • Table Name: country
  • Model Class: Country

然后点击 “Preview” 按钮。你会看到 models/Country.php 被列在将要生成的文件列表中。可以点击文件名预览内容。

如果你已经创建过同样的文件,使用 Gii 会覆写它, 点击文件名旁边的 diff 能查看现有文件与将要 生成的文件的内容区别。

想要覆写已存在文件,选中 “overwrite” 下的复选框然后点击 “Generator”。如果是新文件,只点击 “Generator” 就好。

接下来你会看到一个包含已生成文件的说明页面。如果生成过程中覆写过文件, 还会有一条信息说明代码是重新生成覆盖的。

生成 CRUD 代码

CRUD 代表增,查,改,删操作,这是绝大多数 Web 站点常用的数据处理方式。选择 Gii 中的 “CRUD Generator” (点击 Gii 首页的链接)去创建 CRUD 功能。本例 “country” 中需要这样填写表单:

  • Model Class: app\models\Country
  • Search Model Class: app\models\CountrySearch
  • Controller Class: app\controllers\CountryController

然后点击 “Preview” 按钮。你会看到下述将要生成的文件列表。

如果你之前创建过 controllers/CountryController.phpviews/country/index.php 文件(在指南的使用数据库章节), 选中 “overwrite” 下的复选框覆写它们(之前的文件没能全部支持 CRUD)。

试运行

用浏览器访问下面的 URL 查看生成代码的运行:

http://hostname/index.php?r=country/index

可以看到一个栅格显示着从数据表中读取的国家数据。支持在列头对数据进行排序, 输入筛选条件进行筛选。

可以浏览详情,编辑,或删除栅格中的每个国家。 还可以点击栅格上方的 “Create Country” 按钮通过表单创建新国家。

下面列出由 Gii 生成的文件,以便你研习功能和实现, 或修改它们。

  • 控制器:controllers/CountryController.php
  • 模型:models/Country.phpmodels/CountrySearch.php
  • 视图:views/country/*.php

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

相关文章

  • php实现屏蔽掉黑帽SEO的搜索关键字

    php实现屏蔽掉黑帽SEO的搜索关键字

    这篇文章主要介绍了php实现屏蔽掉黑帽SEO的搜索关键字的相关资料,这里推荐给大家,有需要的小伙伴可以参考下。
    2015-04-04
  • PHP输出JSON格式数据方式

    PHP输出JSON格式数据方式

    这篇文章主要介绍了PHP输出JSON格式数据方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 浅析Yii2 GridView实现下拉搜索教程

    浅析Yii2 GridView实现下拉搜索教程

    这篇文章主要介绍了浅析Yii2 GridView实现下拉搜索教程的相关资料,需要的朋友可以参考下
    2016-04-04
  • 在Nginx上部署ThinkPHP项目教程

    在Nginx上部署ThinkPHP项目教程

    这篇文章主要介绍了在Nginx上部署ThinkPHP项目的方法,十分详细,需要的朋友可以参考下
    2015-02-02
  • php定界符<<<使用技巧和实例

    php定界符<<<使用技巧和实例

    这篇文章主要介绍了php定界符<<<使用技巧和实例,讲解了定界符的功能和使用注意事项等,需要的朋友可以参考下
    2014-06-06
  • tp5 实现列表数据根据状态排序

    tp5 实现列表数据根据状态排序

    今天小编就为大家分享一篇tp5 实现列表数据根据状态排序,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 用 Composer构建自己的 PHP 框架之设计 MVC

    用 Composer构建自己的 PHP 框架之设计 MVC

    几乎所有人都是通过学习某个框架来了解 MVC 的,这样可能框架用的很熟,一旦离了框架一个简单的页面都写不了,更不要说自己设计 MVC 架构了,其实这里面也没有那么多门道,原理非常清晰
    2014-10-10
  • 详解WordPress开发中过滤属性以及Sql语句的函数使用

    详解WordPress开发中过滤属性以及Sql语句的函数使用

    这篇文章主要介绍了WordPress开发中过滤属性以及Sql语句的函数使用,分别是对esc_attr()函数和esc_sql()函数的讲解,需要的朋友可以参考下
    2015-12-12
  • php生成图形(Libchart)实例

    php生成图形(Libchart)实例

    统计图形就我们会常到的数据图形了,如果三个数组以图形显示或楼盘以图形走向我们都会要用到图形,下面介绍一个php LIbchart图形生成类
    2013-11-11
  • laravel实现批量更新多条记录的方法示例

    laravel实现批量更新多条记录的方法示例

    最近在使用Laravel,想批量插入近千条数据,通过网上找到了相关的解决方法,所以下面这篇文章主要给大家介绍了关于laravel实现批量更新多条记录的相关资料,文中给出了详细的示例代码,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10

最新评论