调用Yii::getAlias与Yii::setAlias的用法

别名用来表示文件路径和URL,简化引用,避免在代码中编码一些绝对路径和URL。一个别名必须以‘@’字符开头,以区别于传统的文件路径和URL。
定义别名:调用Yii::setAlias()给文件路径或URL定义别名:
// 文件路径的别名
Yii::setAlias(‘@foo’, ‘/path/to/foo’);
// URL 的别名
Yii::setAlias(‘@bar’, ‘http://www.example.com’);
注意:别名所指向的文件路径或 URL 不一定是真实存在的文件或资源。
可以通过在一个别名后面加斜杠 / 和一至多个路径分段生成新别名(无需调用 Yii::setAlias())。我们把通过 Yii::setAlias() 定义的别名称为根别名,而用他们衍生出去的别名成为衍生别名。例如,@foo 就是根别名,而 @foo/bar/file.php 是一个衍生别名。
你还可以用别名去定义新别名(根别名与衍生别名均可):
Yii::setAlias(‘@foobar’, ‘@foo/bar’);
解析别名:调用Yii::getAlias解析别名到对应的文件路径或URL:如
// echo Yii::getAlias(‘@webroot’); // D:/path/yiibasic/web
// echo Yii::getAlias(‘@app’); // D:\path\yiibasic
// echo Yii::getAlias(‘@web’); // /yiibasic/web
注意:Yii::getAlias() 并不检查结果路径/URL 所指向的资源是否真实存在。
系统定义的路径别名:
@yii – BaseYii.php 文件所在的目录(也被称为框架安装目录)
@app – 当前运行的应用程序的基本路径 yii\base\Application::basePath
@common – 公共文件目录
@frontend – 前端web应用程序目录
@backend – 后端web应用程序目录
@console – 控制台目录
@runtime – 当前运行的应用的 yii\base\Application::runtimePath
@vendor – yii\base\Application::vendorPath
@webroot – 当前运行应用的 Web 入口目录
@web – 当前运行应用的根 URL

发表评论

电子邮件地址不会被公开。 必填项已用*标注