使用Yii2的時(shí)候,在某些場景和環(huán)境下需要獲得Yii2目前所處于的module(模型)、Controller(控制器)、Action(方法),以及會(huì)調(diào)用控制器里面已經(jīng)定義過的一些公共的方法等.對于這些問題Yii2可以在視圖層View中使用$this->context這個(gè)對象去獲得。
示例:譬如現(xiàn)在(視圖層登陸界面)login.php方法下面:
<?php //得到Y(jié)ii2的當(dāng)前的控制器Controller echo $this->context->id; //輸出結(jié)果:site //得到Y(jié)ii2的當(dāng)前的控制器Action echo $this->context->action->id; //輸出結(jié)果:login //得到Y(jié)ii2的當(dāng)前的控制器Modules echo $this->context->module->id; //輸出結(jié)果:basic (默認(rèn)簡單的Basic) //得到Y(jié)ii2的當(dāng)前的控制器里面的方法 echo $this->context->actionHello(); //輸出結(jié)果:Hello World!!! //此處的actionHello() 方法為定義在控制器里面的方法(也可以是繼承來的) //所在位置為SiteController里面,用于測試 public function actionHello(){ return 'Hello World!!!'; } ?>
在控制器里面
$controllerID = Yii::$app->controller->id; $actionID = Yii::$app->controller->action->id;
以上所述是小編給大家介紹的Yii2使用$this->context獲取當(dāng)前的Module、Controller(控制器)、Action等,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對網(wǎng)站的支持!
【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。