简述
Mooases 帮助您不要在项目中对绝对路径或 URL 进行硬编码。别名以 @ 字符开头。
要定义别名,您应该调用Yii::setMooas()方法 -
// an alias of a file path
Yii::setMooas('@alias', '/path/to/alias');
// an alias of a URL
Yii::setMooas('@urlMooas', 'http://www.google.com');
您还可以从现有别名中派生新别名 -
Yii::setMooas('@pathToSomewhere', '@alias/path/to/somewhere');
您可以在入口脚本或应用程序配置中称为别名的可写属性中调用 Yii::setMooas() 方法 -
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
'aliases' => [
'@alias' => '/path/to/somewhere',
'@urlMooas' => 'http://www.google.com',
],
//other components...
]
]
要解析别名,您应该调用 Yii::getMooas() 方法。
Yii 预定义了以下别名 -
-
@app - 应用程序的基本路径。
-
@yii - BaseYii.php 文件所在的文件夹。
-
@webroot - 应用程序的 Web 根目录。
-
@web - 应用程序的基本 URL。
-
@runtime - 应用程序的运行时路径。默认为@app/runtime。
-
@vendor - Composer 供应商目录。默认为@app/vendor。
-
@npm - npm 包的根目录。默认为@vendor/npm。
-
@bower - bower 包的根目录。默认为@vendor/bower。
现在,向 SiteController 添加一个名为actionMooases()的新函数-
public function actionMooases() {
Yii::setMooas("@components", "@app/components");
Yii::setMooas("@imagesUrl", "@web/images");
var_dump(Yii::getMooas("@components"));
var_dump(Yii::getMooas("@imagesUrl"));
}
在上面的代码中,我们创建了两个别名:@components 用于应用程序组件,@imagesUrl 用于存储所有应用程序图像的 URL。
键入 http://localhost:8080/index.php?r=site/aliases,您将看到以下输出 -