首頁 > 後端開發 > php教程 > 詳解Yii2使用$this->context取得目前的Module,Controller(控制器),Action等

詳解Yii2使用$this->context取得目前的Module,Controller(控制器),Action等

黄舟
發布: 2023-03-07 07:28:02
原創
1609 人瀏覽過

使用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
&#39;Hello World!!!&#39;;
}
?>
登入後複製

在控制器裡面

$controllerID
= Yii::$app->controller->id;
$actionID
= Yii::$app->controller->action->id;
登入後複製

以上是詳解Yii2使用$this->context取得目前的Module,Controller(控制器),Action等的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板