ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
**别名(Alias)** **可以将别名视为特殊的常量变量,他的作用在于避免将一些文件路径、URL以硬编码的方式 写入代码中,或者多处出现一长串的文件路径、URL。** 小结一下,默认预定义别名一共有12个,其中路径别名11个,URL别名只有 @web 1个: @yii 表示Yii框架所在的目录,也是 yii\BaseYii 类文件所在的位置; @app 表示正在运行的应用的根目录,一般是 digpage.com/frontend ; @vendor 表示Composer第三方库所在目录,一般是 @app/vendor 或 @app/../vendor ; @bower 表示Bower第三方库所在目录,一般是 @vendor/bower ; @npm 表示NPM第三方库所在目录,一般是 @vendor/npm ; @runtime 表示正在运行的应用的运行时用于存放运行时文件的目录,一般是 @app/runtime ; @webroot 表示正在运行的应用的入口文件 index.php 所在的目录,一般是 @app/web; @web URL别名,表示当前应用的根URL,主要用于前端; @common 表示通用文件夹; @frontend 表示前台应用所在的文件夹; @backend 表示后台应用所在的文件夹; @console 表示命令行应用所在的文件夹; 其他使用Composer安装的Yii扩展注册的二级别名。 这样,在整个Yii应用中,只要使用上述别名,就可方便、且统一地表示特定的路径或URL。 **回顾上面的内容,我们有这么几个要点:** · 别名需在**使用前定义**,因此通常来讲,定义别名应当在放在应用的初始化阶段。 · 别名必然以 **@ 打头**。 · 别名的定义**可以使用之前已经定义过的别名**。 · 别名在储存时,至多只分成两级,第一级的键是根别名。 · 第二级别名的键是完整的别名,而不是去除根别名后剩下的所谓的“二级”别名。 · Yii通过分层的树结构来保存别名最主要是为高效检索作准备。 · 很多地方可以直接使用别名,**而不用调用 Yii::getAlias() ** · 转换成真实的路径或URL。 · 别名解析时,优先匹配较长的别名。 · Yii预定义了许多常用的别名供编程时使用。 · 使用别名时,要将别名放在最前面,**不能放在中间**。