使用Yii2的時候,在某些場景和環境下須要得到Yii2目前所處於的module(模型)、Controller(控制器)、Action(方法),以及會調用控制器裏面已經定義過的一些公共的方法等.對於這些問題Yii2能夠在視圖層View中使用$this->context這個對象去得到。php
示例:譬如如今(視圖層登錄界面)login.php方法下面:html
<?php //獲得Yii2的當前的控制器Controller echo $this->context->id; //輸出結果:site //獲得Yii2的當前的控制器Action echo $this->context->action->id; //輸出結果:login //獲得Yii2的當前的控制器Modules echo $this->context->module->id; //輸出結果:basic (默認簡單的Basic) //獲得Yii2的當前的控制器裏面的方法 echo $this->context->actionHello(); //輸出結果:Hello World!!! //此處的actionHello() 方法爲定義在控制器裏面的方法(也能夠是繼承來的) //所在位置爲SiteController裏面,用於測試 public function actionHello(){ return 'Hello World!!!'; } ?>
在控制器裏面app
$controllerID = Yii::$app->controller->id; $actionID = Yii::$app->controller->action->id;
以上所述是小編給你們介紹的Yii2使用$this->context獲取當前的Module、Controller(控制器)、Action等,但願對你們有所幫助,若是你們有任何疑問請給我留言,小編會及時回覆你們的。在此也很是感謝你們的支持!!測試