Yii-别名

别名可以帮助您避免对项目中的绝对路径或URL进行硬编码。别名以@字符开头。

要定义别名,您应该调用Yii :: setAlias()方法-

// an alias of a file path
Yii::setAlias('@alias', '/path/to/alias');
// an alias of a URL
Yii::setAlias('@urlAlias', 'http://www.google.com');

您还可以从现有的别名派生新的别名-

Yii::setAlias('@pathToSomewhere', '@alias/path/to/somewhere');

您可以在输入脚本或应用程序配置中称为别名的可写属性中调用Yii :: setAlias()方法-

$config = [
   'id' => 'basic',
   'basePath' => dirname(__DIR__),
   'bootstrap' => ['log'],
   'components' => [
      'aliases' => [
         '@alias' => '/path/to/somewhere',
         '@urlAlias' => 'http://www.google.com',
      ],
      //other components...
   ]
]

要解析别名,您应该调用Yii :: getAlias()方法。

Yii预定义了以下别名-

  • @app-应用程序的基本路径。
  • @yii -BaseYii.php文件所在的文件夹。
  • @webroot-应用程序的Web根目录。
  • @web-应用程序的基本URL。
  • @runtime-应用程序的运行时路径。默认为@ app / runtime。
  • @vendor-作曲家供应商目录。默认为@ app / vendor。
  • @ npm-npm软件包的根目录。默认为@ vendor / npm。
  • @bower-凉亭包的根目录。默认为@ vendor / bower。

现在,向SiteController添加一个名为actionAliases()的新函数-

public function actionAliases() {
   Yii::setAlias("@components", "@app/components");
   Yii::setAlias("@imagesUrl", "@web/images");
   var_dump(Yii::getAlias("@components"));
   var_dump(Yii::getAlias("@imagesUrl"));
}

在上面的代码中,我们创建了两个别名:用于存储应用程序组件的@components和用于URL的@imagesUrl。

输入http:// localhost:8080 / index.php?r = site / aliases,您将看到以下输出:

Yii-别名

作者:terry,如若转载,请注明出处:https://www.web176.com/yii/369.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2020年10月23日 下午3:29
下一篇 2020年10月23日 下午3:31

相关推荐

发表回复

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