我在codeigniter模块控制器中有以下代码:
class MyClass extends MX_Controller{
public $description = "index";
public function index(){
global $description;
echo $description;
}
}
根据正常PHP
规则和PHP
文档,这应该有效。但是,它没有。
如果我遗漏了global $description
,我会收到有关变量undefined
的通知,但如果它已经到位,它似乎无法返回任何内容。
为什么我不会global variables
在这种情况下工作?
答案 0 :(得分:0)
您可以这样设置变量:
$this->load->vars($global_variables_array);
其中$global_variables_array
是关联键值对数组,描述为: -
此函数将关联数组作为输入,并使用PHP提取函数生成变量。此函数产生与使用上面的$ this-> load-> view()函数的第二个参数相同的结果。您可能希望独立使用此函数的原因是,您希望在控制器的构造函数中设置一些全局变量,并使它们在从任何函数加载的任何视图文件中可用。您可以多次调用此函数。数据被缓存并合并到一个数组中以转换为变量。
答案 1 :(得分:0)
你应该这样做,而不是使用全局。
这将适用于您在课堂范围内
所以你需要$this
class MyClass extends MX_Controller{
public $description = "index";
public function index(){
echo $this->description;
}
}