刚才过了一遍yii2的这部分源码,记录一下
controller 的action中 return $this->render($this->action->id, $data);会调用Yii::$app->view->renderFile($viewFile, $params, $this); 这里的Yii::$app->view就是\yii\web\View 是继承于\yii\base\View的 renderFile调用\yii\base\View的rendPhpFile方法。关键点在renderPhpFile方法中建立缓冲区 require $file 把模板文件内容require进来 再返回缓冲区内容。。。。这样模板$file文件里的内容相当于直接贴过来在View中。。。所以模板里的$this就是指的View