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');
您可以在条目脚本或应用程序配置中的名为aliases的可写属性中调用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 - Composer供应商目录。 默认为@ app / vendor。
- @npm - npm包的根目录。 默认为@ vendor / npm。
- @bower - 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 =站点/别名,您将看到以下输出 -
Yii提供了一个高度可定制和可扩展的框架。借助此框架,您可以轻松记录各种类型的消息。要记录消息,您应该调用以下方法之一 -Yii :: error() - 记录致命的错误消息。Yii :: warning() - 记录一条警告 ...