使用Yii2的時候,在某些場景和環境下需要獲得Yii2目前所處於的module(模型)、Controller(控制器) 、Action(方法),以及會呼叫控制器裡面已經定義過的一些公共的方法等.對於這些問題Yii2可以在視圖層View中使用$this-> context這個物件去取得。下面透過範例程式碼跟大家講解下
使用Yii2的時候,在某些場景和環境下需要獲得Yii2目前所處於的module(模型)、Controller(控制器)、Action(方法),以及會呼叫控制器裡面已經定義過的一些公共的方法等.對於這些問題Yii2可以在視圖層View中使用$this->context這個物件去取得。
範例:譬如現在(視圖層登陸介面)login.php方法下面:
<?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!!!'; } ?>
在控制器裡面
$controllerID = Yii::$app->controller->id; $actionID = Yii::$app->controller->action->id;
以上是詳解Yii2使用$this->context取得目前的Module,Controller(控制器),Action等的詳細內容。更多資訊請關注PHP中文網其他相關文章!