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

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

阅读 14.5k
1 个回答

看下源码就知道了,如果你的应用是一个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的初始化及运行过程

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题