• @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使用 Yii::$aliases[] 来保存别名

Yii::setAlias() 定义别名

Yii::getAlias()获取别名

例如:

dirname(Yii::$app->request->getScriptFile())
Yii::getAlias("@webroot")

这两个的返回值是一样的

@webroot这个别名是在yiisoft/yii2/web/Application.php中定义的

小结

  • 别名需在使用前定义,因此通常来讲,定义别名应当在放在应用的初始化阶段。
  • 别名必然以 @ 打头。
  • 别名的定义可以使用之前已经定义过的别名。
  • 别名在储存时,至多只分成两级,第一级的键是根别名。 第二级别名的键是完整的别名,而不是去除根别名后剩下的所谓的“二级”别名。
  • Yii通过分层的树结构来保存别名最主要是为高效检索作准备。
  • 很多地方可以直接使用别名,而不用调用 Yii::getAlias() 转换成真实的路径或URL。如Yii::getAlias("@app")
  • 别名解析时,优先匹配较长的别名。
  • Yii预定义了许多常用的别名供编程时使用。
  • 使用别名时,要将别名放在最前面,不能放在中间。

最新文章

  1. 已经重写,源码和文章请跳转http://www.cnblogs.com/ymnets/p/5621706.html
  2. Java笔记8-抽象接口
  3. Observer(观察者)-对象行为型模式
  4. Java的析构函数System的finalize()
  5. Android自定义单选,自定义选中状态
  6. ipython notebook
  7. 转--浅谈ETL
  8. Nasty Hacks <入门练手题>
  9. UVA 10943 How do you add?
  10. 类之string类、Math类、DateTime类
  11. WEB相关协议
  12. BDD
  13. C# 语言规范_版本5.0 (第10章 类)
  14. BaLaBaLa
  15. mysql新建数据库时的collation选择(转)
  16. 整理一下 System.Linq.Enumerable 类中的那些比较少用的方法
  17. MySQL 处理海量数据时的一些优化查询速度方法
  18. array_slice()函数造成的一次sql注入
  19. SynchronousQueueDemo
  20. XRecyclerView上拉刷新下拉加载

热门文章

  1. Linux安装Redis
  2. SVN--分支、合并
  3. phpmyadmin后台拿shell方法总结
  4. smarty变量调节器
  5. Ubuntu 下安装 apt-get install npm 失败的解决方案
  6. javascript使用栈结构将中缀表达式转换为后缀表达式并计算值
  7. ES6严格模式use strict下的保留字
  8. 05JavaIO详解_仿照IO源码自己去实现一个IO流(为了加深印象,本身没有价值)
  9. 【转】MySQL 性能优化的最佳20多条经验分享
  10. C语言 文件操作1--二进制文件与文本文件