详解Yii2使用$this->context获取当前的Module,Controller(控制器),Action等

黄舟
发布: 2023-03-07 07:28:02
原创
1538 人浏览过

使用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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!