yii 2.0 是新手最稳妥的选择,php 7.4–8.3 兼容、文档完整、教程丰富;安装可下载预编译包,修改 config/web.php 中 cookievalidationkey 后访问 http://localhost/xxx/web 即可运行,并通过 gii 快速生成 crud。

新手第一次用 Yii,别从 1.1 开始——它已停止维护,文档陈旧、扩展缺失、PHP 8+ 兼容性差;2.0 是当前最稳妥的选择,社区成熟、教程丰富、兼容 PHP 7.4–8.3;3.0 是未来方向,但生态尚在建设中,适合想学现代 PHP 特性(如属性、联合类型、依赖注入容器)的新手,前提是能接受少量文档不全和扩展待完善。
先选对版本再动手
明确你的目标场景:
- 学框架入门、做课程作业、接小项目 → 选 Yii 2.0:官方文档完整,CSDN、博客园、GitCode 上有大量中文实战笔记,Gii 生成器开箱即用,数据库操作、表单验证、用户登录流程清晰可复制。
- 已有 PHP 基础、想接触现代化架构(PSR-11、DI 容器、命令行驱动)、愿意读英文文档 → 选 Yii 3.0:安装快(
composer create-project yiisoft/app myapp),目录更扁平,配置更语义化,但 Gii 尚未集成,CRUD 需手动写或借助第三方工具。 - 维护老系统、阅读遗留代码 → 才需了解 Yii 1.1,但不建议作为第一个学习版本:它用全局常量和静态方法较多,命名空间缺失,调试时容易混淆作用域。
三步走通基础流程(以 Yii 2.0 为例)
不用配环境、不碰命令行也能跑起来:
-
下载预编译包:去 GitHub Releases 下载
yii2-basic最新版 ZIP,解压到 XAMPP 的htdocs或 phpStudy 的网站根目录。 -
改一个关键配置:打开
config/web.php,找到'cookieValidationKey' => '',填入任意 32 位字符串(如'abc123def456ghi789jkl012mno345pqr'),否则会报错。 -
访问并验证:浏览器打开
http://localhost/yii2-basic/web/,看到绿色“Congratulations!”页面,说明运行成功;接着试?r=site/about和?r=site/contact,确认路由和表单正常。
快速生成 CRUD(免手写 SQL 和 HTML)
这是 Yii 新手最直观的获得感来源:
- 确保
config/main.php中 Gii 模块已启用(取消注释那段'gii' => [...]配置,并设好'allowedIPs',如['127.0.0.1', '::1'])。 - 访问
http://localhost/yii2-basic/web/index.php?r=gii,输入密码(默认是123456,可在配置里改)。 - 先点 Model Generator:填表名(如
user),生成User.php模型;再点 CRUD Generator:选刚生成的模型,填控制器 ID(如user),一键生成控制器、视图、增删改查逻辑。 - 访问
?r=user/index,立刻看到带搜索、分页、编辑按钮的管理界面。
遇到报错先看这三处
新手卡住,80% 问题出在这儿:
-
“Class not found”:检查文件名是否严格匹配类名(如
UserController.php内必须是class UserController extends Controller),Yii 2.0 区分大小写且依赖自动加载规则。 -
“Setting unknown property”:常见于在控制器里写了
$this->layout = 'main'却没创建views/layouts/main.php,或模型里定义了不存在的属性。 -
数据库连不上:打开
config/db.php,确认'dsn'格式正确(MySQL 示例:'mysql:host=localhost;dbname=mydb;charset=utf8'),用户名密码无空格,MySQL 服务已启动。











