Maison >développement back-end >tutoriel php >Explication détaillée de la façon dont Yii2 utilise $this->context pour obtenir le module, le contrôleur (contrôleur), l'action, etc.

Explication détaillée de la façon dont Yii2 utilise $this->context pour obtenir le module, le contrôleur (contrôleur), l'action, etc.

黄舟
黄舟original
2017-03-30 09:06:061601parcourir

Lors de l'utilisation de Yii2, dans certains scénarios et environnements, vous devez obtenir le module(Modèle) et le Contrôleur(Contrôleur) où se trouve actuellement Yii2 , Action (méthode), et appellera certaines méthodes publiques qui ont été définies dans le contrôleur. Pour ces problèmes, Yii2 peut utiliser $this-> . Récupère le contexte objet . Ce qui suit est un exemple de code à vous expliquer Lors de l'utilisation de Yii2, dans certains scénarios et environnements, vous devez obtenir le module (modèle), le contrôleur (contrôleur), l'action (méthode) où se trouve actuellement Yii2 , et il appellera certaines méthodes publiques qui ont été définies dans le contrôleur. Pour ces problèmes, Yii2 peut utiliser l'objet $this->context dans la couche de vue View pour les obtenir.

Exemple : Par exemple, la méthode login.php now (interface de connexion de la couche d'affichage) est la suivante :

Dans le contrôleur
<?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;;
}
?>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn