Yii 1.x 官方文档已停更,当前最可靠来源是:GitHub yiisoft/yii 的 1.1 分支源码(含完整 PHPDoc)、本地 packages.php 文件、中文离线镜像 yii1-docs-zh-cn.github.io。

官方文档已停止维护,当前最可靠、最新、可运行的 Yii 1.x 技术参考,只剩三处:GitHub 仓库源码注释、framework/web/js/packages.php 等内置文件、以及社区沉淀的离线镜像站。
Yii 1.x 官方文档在哪找?
yii-project.com 域名早在 2017 年失效,wiki.github.com/yiisoft/yii 页面也已归档不可编辑。现在访问 www.yiiframework.com 会自动跳转到 Yii 2+ 官网,所有内容都不兼容 Yii 1.x。
实际能用的权威来源只有:
- GitHub 上
yiisoft/yii的1.1分支源码(含完整 PHPDoc 注释)——这是最准的“活文档” - 本地安装包里的
framework/web/js/packages.php,查registerCoreScript()支持哪些 key(比如'jquery'、'bbq') - 中文用户整理的离线镜像,如
yii1-docs-zh-cn.github.io(非官方但内容完整,更新至 1.1.26)
Yii::getPathOfAlias() 能查哪些路径别名?
这个函数是 Yii 1.x 查路径的核心入口,但别名不是写死在函数里,而是在框架启动时通过 Yii::setPathOfAlias() 或配置项注册的。默认可用的有:
-
'system'→ 指向YII_PATH/framework(即Yii::getFrameworkPath()返回值) -
'zii'→YII_PATH/framework/zii,必须手动Yii::import('zii.*')才生效 -
'application'→ 对应Yii::app()->basePath,通常是protected/ -
'webroot'→ 入口脚本所在目录(如/var/www/html),从 1.0.3 开始可用 -
'ext'→protected/extensions,从 1.0.8 开始支持
注意:Yii::getPathOfAlias('xxx') 返回 false 说明该别名未注册,不是拼写错误就是漏了 import 或配置。
视图路径找不到(Invalid Parameter – View file does not exist)怎么快速定位?
这个错误几乎全是路径别名或查找逻辑误判导致,不是文件真丢了。关键看三点:
- 当前控制器是否属于模块?如果是
admin/modules/post/PostController,$this->render('edit')默认查的是@app/modules/admin/views/post/edit.php,不是@app/views/post/edit.php - 用了单斜杠
/layouts/main?它会先找当前模块的views/layouts/,没找到才 fallback 到应用级;双斜杠//layouts/main才强制从@app/views/layouts/开始找 - 跨目录渲染必须用完整别名,例如
$this->render('@app/views/user/_form'),不能写'../user/_form'—— Yii 不解析..
第三方扩展(ext/)加载失败常见原因
protected/extensions 下放了扩展,但 Yii::import('ext.xxx.*') 报错,大概率是下面几个点卡住了:
- 扩展目录名含大写字母或特殊符号(如
MyExt-1.0),但import只认小写加下划线,得重命名为myext - 扩展根目录里没有
MyExt.php或MyExt/MyExt.php这类与目录同名的主类文件 - main.php 配置里漏了
'ext.MyExt.*',只写了'ext.*'不行 —— Yii 1.x 不支持通配符递归导入 - 扩展依赖其他扩展(比如某支付 SDK 依赖
ext.curl),但没一并放入ext/或没按顺序 import
最省事的验证方式:直接在控制器里写 var_dump(Yii::getPathOfAlias('ext'));,确认路径是否指向你认为的那个 protected/extensions 目录。


















