资讯专栏INFORMATION COLUMN

Yii 的修行之路 - Gii 代码生成器

fuchenxuan / 1605人阅读

摘要:简述是一个强大的代码生成器,主要用于后台代码生成。下面列出由生成的文件,以便你研习功能和实现,或修改它们控制器模型和视图补充被设计成高度可定制和可扩展的代码生成工具。使用生成代码是一个基于界面的代码生成工具。

简述

Gii 是一个强大的代码生成器,主要用于后台代码生成。

开始 Gii

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

$config = [ ... ]; 
if (YII_ENV_DEV) { 
    $config["bootstrap"][] = "gii"; 
    $config["modules"]["gii"] = "yiigiiModule"; 
}

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

如果你检查应用的入口脚本 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" => "yiigiiModule",
    "allowedIPs" => ["127.0.0.1", "::1", "192.168.0.*", "192.168.178.20"] // 按需调整这里
],

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

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

生成 CRUD 代码

CRUD 代表增,查,改,删操作,这是绝大多数 Web 站点常用的数据处理方式。

选择 Gii 中的 “CRUD Generator” (点击 Gii 首页的链接)去创建 CRUD 功能。例如:

Model Class: appmodelsCountry

Search Model Class: appmodelsCountrySearch

Controller Class: appcontrollersCountryController

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

如果你之前创建过 controllers/CountryController.php 和 views/country/index.php 文件,选中 “overwrite” 下的复选框覆写它们(之前的文件没能全部支持 CRUD)。

试运行

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

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

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

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

控制器:controllers/CountryController.php

模型:models/Country.php 和 models/CountrySearch.php

视图:views/country/*.php

补充:Gii 被设计成高度可定制和可扩展的代码生成工具。使用它可以大幅提高应用开发速度。

使用 Gii 生成代码

1、Gii 是一个基于 web 界面的代码生成工具。

2、Model Generator 创建模型类代码时,注意表名(Table Name)和模型类的对应(Model Class);命名空间路径(Namespace)的确认。

3、CURD Generator 生成代码时,注意调用的模块目录所在路径,在设置路径时注意 Model 和 Search 的路径,还有其他类路径(Controller 和 View)的设置,避免出现路径错误的问题。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21612.html

相关文章

  • Yii修行之路 - Security 安全

    摘要:认证事件类在登录和注销流程引发一些事件。成功注销后引发。提供两种授权方法存取控制过滤器和基于角色的存取控制。允许已认证用户执行操作。指定一个回调函数用于判定该规则是否满足条件。 简述 在程序开发过程中,往往都不能忽视安全问题,无论你的框架有多么完美,都会有破绽,所以完善自己的系统,从程序开发的安全角度去思考问题,把一切潜在的危机扼杀在摇篮中。 认证(Authentication) 认证...

    AaronYuan 评论0 收藏0
  • Yii 修行之路 - View 视图渲染

    摘要:简述模块是中的架构的板块,主要负责数据的展示,渲染模板文件,展示数据内容。此外在一个视图中还可以引入多个视图文件,也是通过方法实现。布局文件的数据默认以显示,也可以用数据块的形式渲染到视图上。必须要确认生成一次,才会正式生成新首页。 简述 View模块是Yii中的MVC架构的V板块,主要负责数据的展示,渲染模板文件,展示数据内容。 基本概念 MVC在Yii里面有一个Views文件夹,里...

    Mr_houzi 评论0 收藏0
  • Yii修行之路 - Extension 扩展

    摘要:运行来安装指定的扩展。这更便于用户辨别是否是的扩展。当用户运行安装一个扩展时,文件会被自动更新使之包含新扩展的信息。上述代码表明该扩展依赖于包。例如,上述的条目声明将对应于别名。为达到这个目的,你应当在公开发布前做测试。 简述 扩展是专门设计的在 Yii 应用中随时可拿来使用的, 并可重发布的软件包。 基础 例如, yiisoft/yii2-debug 扩展在你的应用的每个页面底部添加...

    bovenson 评论0 收藏0
  • Yii 修行之路 - Migration 数据迁移

    摘要:把所有的增量数据库迁移提交到生产环境数据库当中。如果其中任意一个迁移提交失败了,那么这条命令将会退出并停止剩下的那些还未执行的迁移。执行这条命令期间不会有任何的迁移会被提交或还原。 简述 数据迁移就是数据库表在团队建的迁移操作,达到团队相互间的信息同步,数据统一。 数据库迁移 一般步骤: 1、在 yii2 的 migrate 中,通常用来对数据库数据表进行修改操作,主要对结构和小部分数...

    noONE 评论0 收藏0
  • Yii 修行之路 - Console 控制台命令

    摘要:它由一个或多个类组成,它们在控制台环境下通常被称为命令。控制台入口脚本通常被称为,位于应用程序的根目录。选项通过覆盖在中的方法,你可以指定可用于控制台命令选项。参数将传递给请求的子命令对应的操作方法。通常,执行成功的命令会返回。 简述 控制台应用程序的结构非常类似于 Yii 的一个 Web 应用程序,主要用于终端服务器执行。 控制台命令 控制台应用程序的结构非常类似于 Yii 的一个 ...

    everfly 评论0 收藏0

发表评论

0条评论

fuchenxuan

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<