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


Posted in PHP onMarch 29, 2017

使用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
'Hello World!!!';
}
?>

在控制器里面

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

以上所述是小编给大家介绍的Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
php mysql Errcode: 28 终极解决方法
Jul 01 PHP
php处理文件的小例子(解压缩,删除目录)
Feb 03 PHP
获取PHP警告错误信息的解决方法
Jun 03 PHP
基于php常用正则表达式的整理汇总
Jun 08 PHP
PHP类继承 extends使用介绍
Jan 14 PHP
php页面函数设置超时限制的方法
Dec 01 PHP
php变量与数组相互转换的方法(extract与compact)
Dec 02 PHP
Thinkphp整合微信支付功能
Dec 14 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
Oct 14 PHP
PHP封装XML和JSON格式数据接口操作示例
Mar 06 PHP
php输出文字乱码的解决方法
Oct 04 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
PHP的反射机制实例详解
Mar 29 #PHP
php面向对象之反射功能与用法分析
Mar 29 #PHP
PHP命名空间namespace的定义方法详解
Mar 29 #PHP
php mysql_list_dbs()函数用法示例
Mar 29 #PHP
php json相关函数用法示例
Mar 28 #PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
Mar 28 #PHP
php事务回滚简单实现方法示例
Mar 28 #PHP
You might like
我的论坛源代码(十)
2006/10/09 PHP
php利用curl抓取新浪微博内容示例
2014/04/27 PHP
PHP实现全角字符转为半角方法汇总
2015/07/09 PHP
php 参数过滤、数据过滤详解
2015/10/26 PHP
Laravel核心解读之异常处理的实践过程
2019/02/24 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
javascript中直接写php代码的方法
2013/07/31 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
基于jquery实现简单的分页控件
2016/03/17 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
js中判断变量类型函数typeof的用法总结
2016/08/09 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
javascrit中undefined和null的区别详解
2019/04/07 Javascript
js实现删除li标签一行内容
2019/04/16 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
2019/05/07 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
2019/10/26 Javascript
js事件机制----捕获与冒泡机制实例分析
2020/05/22 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
在Python的Django框架中加载模版的方法
2015/07/16 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
python 使用plt画图,去除图片四周的白边方法
2019/07/09 Python
Anaconda使用IDLE的实现示例
2020/09/23 Python
python中的对数log函数表示及用法
2020/12/09 Python
HTML5打开手机扫码功能及优缺点
2017/11/27 HTML / CSS
英国家居用品和家居装饰品购物网站:Cox & Cox
2019/08/25 全球购物
教育英语专业毕业生的求职信
2014/03/13 职场文书
岗位廉政承诺书
2014/03/27 职场文书
社区平安建设汇报材料
2014/08/14 职场文书
MySQL创建定时任务
2022/01/22 MySQL