📜  yii2 gii 命令行创建模型 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:48:41.020000             🧑  作者: Mango

Yii2 Gii 命令行创建模型

Yii2 Gii 是一个用于生成代码的Web界面,也可以使用命令行生成代码。本文将介绍如何使用Yii2 Gii命令行创建模型。

环境要求
  • Yii2框架
  • php >= 7.0
  • composer
安装Gii扩展

通过Composer安装Gii扩展,运行以下命令:

composer require --dev yiisoft/yii2-gii

在配置文件(config/web.php)中添加以下代码:

if(YII_ENV_DEV){
   // 配置Gii
   $config['modules']['gii'] = [
      'class' => 'yii\gii\Module',
      'allowedIPs' => ['127.0.0.1', '::1', '192.168.10.*', '192.168.20.2'], // 指定允许访问Gii的IP
   ];
}

在生产环境中,请务必禁用Gii模块。

使用Gii创建模型

在终端中输入以下命令:

yii gii/model --tableName=[table_name]

其中 [table_name] 是需要创建模型的表名。

命令执行结束后,将在models目录下创建一个新文件,文件名为 [TableName].php,其中 [TableName] 是表名字首字母大写后的字符串。

以下是一个示例命令:

yii gii/model --tableName=user

执行完命令后,将在 models 目录下生成 User.php 文件,代码如下所示:

<?php

namespace app\models;

use Yii;

/**
 * This is the model class for table "user".
 *
 * @property int $id
 * @property string $username
 * @property string $password
 * @property string|null $email
 * @property string|null $created_at
 * @property string|null $updated_at
 */
class User extends \yii\db\ActiveRecord
{
    /**
     * {@inheritdoc}
     */
    public static function tableName()
    {
        return 'user';
    }

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            [['username', 'password'], 'required'],
            [['created_at', 'updated_at'], 'safe'],
            [['username'], 'string', 'max' => 50],
            [['password', 'email'], 'string', 'max' => 100],
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'username' => 'Username',
            'password' => 'Password',
            'email' => 'Email',
            'created_at' => 'Created At',
            'updated_at' => 'Updated At',
        ];
    }
}
总结

以上是使用Yii2 Gii命令行创建模型的详细步骤。通过Gii,我们可以快速生成模型代码,提高开发效率。当然,我们还需要根据实际情况对生成的代码进行修改和完善。