📜  Gii-创建模型(1)

📅  最后修改于: 2023-12-03 15:00:54.852000             🧑  作者: Mango

Gii-创建模型

Gii是Yii框架提供的标准web接口,可以帮助程序员轻松地生成代码和代码片段,其中包括模型(Model)、视图(View)和控制器(Controller)等。在本文中,将以创建模型(Model)为主题,介绍如何使用Gii工具来生成模型类。

Gii的概述

Gii是一个代码生成器,可以使用它以最小的工作量创建一个可用的应用程序。Gii已经默认安装在Yii框架中,您只需要配置好相应的数据库连接,就可以使用它来自动生成代码和托管代码的创建过程。

Gii的UI界面友好,您只需要输入一些必要的信息,稍稍等待一下,就可以得到优质的代码。

创建模型(Model)

在Yii框架中,模型是实现数据逻辑和数据验证的重要类。您可以通过Gii快速创建模型文件。使用以下步骤来创建一个名为“Article”的数据库表的模型类:

步骤1

首先,您需要启动Yii应用程序并输入以下URL:

http://yourapplicationhost/gii

登录后您将看到Gii的首页。

步骤2

单击“Model Generator”图标创建一个新的模型类。

步骤3

在“Model Generator”页面上,输入模型名称,如“Article”,并在“Table Name”文本框中输入表名,如“{{%article}}”。如果您没有在模板中设置前缀,您需要使用前缀,如“{{%表名}}”。

您可以使用其他选项自定义模型文件,包括选择要生成哪些文件,类名和命名空间。点击“Preview”按钮,您可以预览生成的代码。

注意:在Yii框架中,{{%table-name}}是指将使用特定前缀的表名。例如,如果您在config.php文件中设置了如下数据库配置:'tablePrefix' => 'yii_',则将在数据库中引用名为{{%article}}的表,并在生成的代码中替换为yii_article

步骤4

在预览界面中,您可以看到代码。如果您满意生成的代码,则可以点击“Generate”按钮来生成代码。如果您不确定生成的代码是否正确,则可以单击“Diff”按钮查看更改。

步骤5

在当前运行的Yii应用程序中,openUPG.sh提供了一个快速上手的范例,您可以在shell中执行脚本,快速启动代码和看到效果。

以下是一个基于上述步骤创建模型类的实际例子:

<?php

namespace app\models;

use Yii;

/**
 * This is the model class for table "{{%article}}".
 *
 * @property int $id 文章ID
 * @property string|null $title 标题
 * @property string|null $content 内容
 * @property int|null $create_time 创建时间
 * @property int|null $update_time 修改时间
 * @property int $status 状态:0-未发布,1-已发布,2-审核中
 */
class Article extends \yii\db\ActiveRecord
{
    /**
     * {@inheritdoc}
     */
    public static function tableName()
    {
        return '{{%article}}';
    }

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            [['content'], 'string'],
            [['create_time', 'update_time', 'status'], 'integer'],
            [['title'], 'string', 'max' => 255],
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels()
    {
        return [
            'id' => '文章ID',
            'title' => '标题',
            'content' => '内容',
            'create_time' => '创建时间',
            'update_time' => '修改时间',
            'status' => '状态',
        ];
    }
}
步骤6

现在,您可以在其他应用中使用此模型类。如下示例代码:

// 创建Article实例
$article = new Article();
 
// 设置Article属性
$article->title = 'Article title';
$article->content = 'Article content';
$article->create_time = time();
$article->update_time = time();
$article->status = 0;
 
// 将Article插入到数据库中
$article->save();
总结

在Yii框架中,Gii是一个非常强大的代码生成工具。通过这篇文章,您已经了解了通过Gii创建模型的详细方法。模型是非常重要的一个内容,它是实现数据逻辑和数据验证的关键类,尤其是在数据库访问中。