[moka同窗筆記轉載]Yii2使用$this->context獲取當前的Module、Controller(控制器)、Action等

使用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等,但願對你們有所幫助,若是你們有任何疑問請給我留言,小編會及時回覆你們的。在此也很是感謝你們的支持!!測試

 

原文地址:http://www.poluoluo.com/jzxy/201704/537871.htmlthis

相關文章
相關標籤/搜索