Yii2中 Yii::$app $app这个变量是在哪里实例化的?

最常用的服务定位器是application(应用)对象,可以通过 Yii::$app 访问。
已邀请:

张三俗

赞同来自:

看下源码就知道了,如果你的应用是一个web应用,其index.php中
(new yii\web\Application($config))->run();

调用Application的构造方法,而其继承自yii\base\Application构造方法为
public function __construct($config = [])
{
Yii::$app = $this;
$this->setInstance($this);
$this->state = self::STATE_BEGIN;
$this->preInit($config);
$this->registerErrorHandler($config);
Component::__construct($config);
}
具体往后的实例化过程,你可以按照找个顺序继续查看源码。有什么问题可以留言,查看源码可以帮助你迅速理解yiiframework的初始化及运行过程

烂珂人

赞同来自:

顶顶顶

要回复问题请先登录注册