要在yii2.0.55中用gii快速生成代码,必须先启用gii模块并正确配置allowedips和密码;访问/gii验证数据库连接后,依次生成model、search model、controller及视图文件,注意补全业务验证规则并确保命名空间准确。

要在Yii2.0.55项目中用Gii快速生成模型、控制器和视图代码,必须先确保Gii模块已启用且安全配置正确,否则访问/gii会直接返回403或空白页,连界面都看不到。
启用Gii模块并开放本地访问
打开config/web.php,在modules数组中添加gii配置块。注意:如果项目使用YII_ENV_DEV环境常量,建议用条件加载方式避免误入生产环境。
【allowedIPs必须包含当前开发机IP】,否则Gii页面打不开。虚拟机或Docker容器开发时,需填宿主机或容器网关地址,不能只留127.0.0.1。
配置示例(直接复制粘贴即可):
'gii' => [<br> 'class' => 'yii\gii\Module',<br> 'allowedIPs' => ['127.0.0.1', '::1', '192.168.33.1'],<br> 'password' => 'dev123'<br>],
密码字段非必需,但强烈建议设置——Yii2.0.55对未设密码的Gii访问已加强提示,不设密码时界面顶部会显示红色警告条。
访问Gii界面并验证连接
启动Web服务器后,在浏览器中访问http://your-domain.com/gii或http://your-domain.com/index.php?r=gii。
输入配置中设定的密码,进入主界面。左侧面板列出所有可用生成器,右侧显示当前数据库连接状态。
若右上角显示“Database connection: Not connected”,说明db组件未正确配置或数据库服务未运行,此时所有生成器的表名下拉框为空,无法继续。
生成Model类(以users表为例)
点击“Model Generator” → 在“Table Name”栏输入users → 点击“Preview”。
Gii会自动推导出类名User和命名空间app\models。如果数据库表前缀是tbl_,它默认会去掉前缀;若表名含下划线如user_profile,类名会转为UserProfile。
预览页列出将要生成的文件路径和内容。重点检查rules()方法里的验证规则——Gii只按字段类型(VARCHAR→string、INT→integer)生成基础规则,【email、required、unique等业务级验证必须手动补全】,否则提交表单时会跳过校验。
确认无误后点击“Generate”,成功提示出现即完成。
用CRUD生成器一键产出完整功能
第一步:填写Model Class为app\models\User(必须带完整命名空间,否则报错Class not found)。
第二步:Search Model Class填app\models\UserSearch,Gii会自动创建该类用于列表筛选。
第三步:Controller Class写app\controllers\UserController,View Path保持默认@app/views/user即可。
第四步:点击“Preview”,检查是否列出以下全部文件:
– 控制器UserController.php
– 搜索模型UserSearch.php
– 五个视图文件(index、view、create、update、_form)
– 若缺少任一文件,说明Model类路径错误或命名空间拼写有误。
第五步:点击“Generate”,生成完成后,访问/user即可看到完整的用户列表页,增删改查功能已就绪。











