編程學習網(wǎng) > PHP技術 > Yii2 > Yii2使用$this->context獲取當前的Module、Controller(控制器)、Action等
2020
02-24

Yii2使用$this->context獲取當前的Module、Controller(控制器)、Action等

Yii2使用$this->context獲取當前的Module、Controller(控制器)、Action等

使用Yii2的時候,在某些場景和環(huán)境下需要獲得Yii2目前所處于的module(模型)、Controller(控制器)、Action(方法),以及會調(diào)用控制器里面已經(jīng)定義過的一些公共的方法等.對于這些問題Yii2可以在視圖層View中使用$this->context這個對象去獲得。

示例:譬如現(xiàn)在(視圖層登陸界面)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等,希望對大家有所幫助,如果大家有任何疑問請給我留言

掃碼二維碼 獲取免費視頻學習資料

Python編程學習

查 看2022高級編程視頻教程免費獲取