Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erklärung, wie Yii2 $this->context verwendet, um das aktuelle Modul, den Controller (Controller), die Aktion usw. abzurufen.

Detaillierte Erklärung, wie Yii2 $this->context verwendet, um das aktuelle Modul, den Controller (Controller), die Aktion usw. abzurufen.

黄舟
黄舟Original
2017-03-30 09:06:061588Durchsuche

Wenn Sie Yii2 verwenden, müssen Sie in bestimmten Szenarien und Umgebungen das Modul(Modell) und den Controller (Controller) erhalten, in dem sich Yii2 derzeit befindet . , Action (Methode) und ruft einige öffentliche Methoden auf, die im Controller definiert wurden. Für diese Probleme kann Yii2 $this-> in der Ansichtsebene verwenden . Holen Sie sich das Kontext--Objekt . Im Folgenden finden Sie einen Beispielcode zur Erläuterung

Wenn Sie Yii2 verwenden, müssen Sie in bestimmten Szenarien und Umgebungen das Modul (Modell), den Controller (Controller) und die Aktion (Methode) abrufen, in der sich Yii2 derzeit befindet , und Es werden einige öffentliche Methoden aufgerufen, die im Controller definiert wurden. Für diese Probleme kann Yii2 das $this->context-Objekt in der Ansichtsebene verwenden, um sie abzurufen.

Beispiel: Beispielsweise lautet die Methode login.php jetzt (Anmeldeschnittstelle der Ansichtsebene) wie folgt:

<?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;;
}
?>

Im Controller

$controllerID
= Yii::$app->controller->id;
$actionID
= Yii::$app->controller->action->id;

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie Yii2 $this->context verwendet, um das aktuelle Modul, den Controller (Controller), die Aktion usw. abzurufen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn