使用 codeigniter 在控制器中使用 $CI->load->vars() 获取加载的变量
Posted
技术标签:
【中文标题】使用 codeigniter 在控制器中使用 $CI->load->vars() 获取加载的变量【英文标题】:Get loaded variables with $CI->load->vars() in controller with codeigniter 【发布时间】:2017-05-17 09:08:20 【问题描述】:我知道如何从控制器加载变量以使其可访问所有视图:
$data['xxx'] = 'yyy';
$CI->load->vars($data);
就这么简单。
但是如何将xxx
变量传递给子控制器而不是视图?
$data
变量似乎不存在于扩展控制器中。
【问题讨论】:
【参考方案1】:子控制器自动从父控制器继承所有公共和受保护的变量和方法。所以你不需要单独传递。这里是一个例子..
class Parent_controller extends CI_Controller
protected $xxx = 'hello im parent';
public function_name()
然后做一个子控制器扩展Parent_controller
如下:
class Child_controller extends Parent_controller
echo $xxx; //outputs hello im parent OR you can overright it
//similarly you can make function call to parent's function
学习关于继承的主题对你来说已经足够了。但是子控制器无法访问具有私有作用域的变量和方法。
【讨论】:
以上是关于使用 codeigniter 在控制器中使用 $CI->load->vars() 获取加载的变量的主要内容,如果未能解决你的问题,请参考以下文章
如何在 php 中使用 exec 命令运行 codeigniter 控制器功能