Yii::的用法简介

在进行 Yii2 应用开发的时候,经常会用的一些诸如 Yii::$app->userYii::$app->request 等的用法,这些都是基于 BaseYii 类实现的:

Yii::$app;         // 应用实例, 返回 yii\console\Application 对象或 yii\web\Application 对象
Yii::$classMap;    // 类的自动加载机制, 返回一个数组, 键名是类名, 键值是类文件路径
Yii::$container;   // 返回 yii\di\Container 对象
Yii::getVersion(); // 返回当前版本号, eg: '2.0.12'
Yii::powered();    // 返回链接: 技术支持 <a href="http://www.yiiframework.com/" rel="external">Yii 框架</a>

路径别名:

Yii::$aliases;     // 返回所有的路径别名, 键名是路径别名, 键值是对应的路径
Yii::getAlias($alias, $throwException = true);  // 将路径别名($alias)转换为实际的路径
    $throwException  // 如果给定的别名($alias)无效, 是否抛出异常
Yii::getRootAlias($alias);  // 返回给定别名的根别名部分
Yii::setAlias($alias, $path);  // 注册路径别名

例如:

Yii::getAlias('@common');  //return: 'D:\wamp64\www\yii2advanced\common'
Yii::getRootAlias('@web/frontend/web');  //return: '@web'
Yii::setAlias('@common', dirname(__DIR__));  // Yii2 默认注册的路径别名

其他:

// 类加载程序
Yii::autoload($className);
	
// 使用给定的配置创建一个新的对象
Yii::createObject($type, array $params = []);
	
// 返回日志对象, yii\log\Logger 对象
Yii::getLogger();

// 设置一个日志对象
Yii::setLogger($logger);

Yii::trace($message, $category = 'application');
Yii::error($message, $category = 'application');
Yii::warning($message, $category = 'application');
Yii::info($message, $category = 'application');
	
// 将消息($message)转换为指定的语言, 是 yii\i18n\I18N::translate() 方法的快捷方式
Yii::t($category, $message, $params = [], $language = null);
	
// 标记用于分析的代码段的开头与结尾
Yii::beginProfile($token, $category = 'application');
Yii::endProfile($token, $category = 'application');

// 配置具有初始属性值的对象
Yii::configure($object, $properties);	

// 返回指定对象($object)的公共成员变量, 使用 PHP 的 get_object_vars() 方法
Yii::getObjectVars($object);