zoukankan      html  css  js  c++  java
  • yii2使用Gii生成代码

    本章节将介绍怎样使用 Gii 去自己主动生成 Web 网站经常使用功能的代码。使用 Gii 生成代码很easy,仅仅要依照 Gii 页面上的介绍输入正确的信息就可以。

    贯穿本章节,你将会学到:

    • 在你的应用中开启 Gii
    • 使用 Gii 去生成活动记录类
    • 使用 Gii 去生成数据表操作的增查改删(CRUD)代码
    • 自己定义 Gii 生成的代码

    開始 Gii

    Gii 是 Yii 中的一个模块。能够通过配置应用的 [[yiiaseApplication::modules|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


    生成活动记录类

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

    • Table Name: country
    • Model Class: Country


    然后点击 “Preview” button。你会看到 models/Country.php 被列在将要生成的文件列表中。

    能够点击文件名称预览内容。

    假设你已经创建过相同的文件,使用 Gii 能够覆写它,点击文件名称旁边的 diff 能查看现有文件与将要生成的文件的内容差别。



    想要覆写已存在文件。选中 “overwrite” 下的复选框然后点击 “Generator”。

    假设是新文件,仅仅点击 “Generator” 就好。

    接下来你会看到一个包括已生成文件的说明页面。

    假设生成过程中覆写过文件。还会有一条信息说明代码是又一次生成覆盖的。

    生成 CRUD 代码

    CRUD 代表增。查,改,删操作,这是绝大多数 Web 网站经常使用的数据处理方式。选择 Gii 中的 “CRUD Generator” (点击 Gii 首页的链接)去创建 CRUD 功能。

    之前的 “country” 样例须要像这样填写表单:

    • Model Class: appmodelsCountry
    • Search Model Class: appmodelsCountrySearch
    • Controller Class: appcontrollersCountryController


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

    [[NEED THE IMAGE HERE / 等待官方补充图片]]

    假设你之前创建过 controllers/CountryController.php 和 views/country/index.php 文件(在指南的使用数据库小节),选中 “overwrite” 下的复选框覆写它们(之前的文件没能所有支持 CRUD)。

    尝试下

    浏览器訪问以下的 URL 查看生成代码的执行:

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

    能够看到一个栅格显示着从数据表中获取的国家数据。

    支持在列头对数据进行排序,输入筛选条件进行筛选。

    能够浏览详情,编辑,或删除栅格中的每一个国家。

    还能够点击栅格上方的 “Create Country”button通过表单创建新国家。

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

    • 控制器controllers/CountryController.php
    • 模型models/Country.php 和 models/CountrySearch.php
    • 视图:views/country/*.php
    补充:Gii 被设计成高度可定制和可扩展的代码生成工具。

    使用它能够大幅提高应用开发速度。请參考 Gii 小节了解很多其它内容。




  • 相关阅读:
    date之Hi时间的思考
    空循环比较 for foreach array_map array_walk
    ECSHOP 数据库结构说明 (适用版本v2.7.3)
    自定义写入读出文件作为存储的函数
    session 重写进入redis测试
    单独批次性任务采用MySQL定时器解决需求
    php 接收 Content-Type 是 application/json的请求数据
    centos 6.4 mysql rpm 离线安装【备忘】
    solr单机版安装与基本部署
    vim&vi在编辑的时候突然卡死,不接收输入问题的解决
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5247144.html
Copyright © 2011-2022 走看看