在CodeIgniter框架中使用静态类属性时遇到问题。
我只使用数组作为类的输入,使用当前的'Welcome_message'视图进行调试。
我想使用一个名为'数据'的私有静态属性由不同的类功能(在同一个控制器)使用。
见下面我的代码:
在类中使用静态属性时发生Codeigniter问题
<?php class Test_dev extends CI_Controller
{
private static $data='';
public function change()
{
self::$data= array('test1'=>'data1','test2'=>'data2');
$this->load->view('welcome_message',array('output'=>self::$data));
}
public function check()
{
$this->load->view('welcome_message',array('output'=>self::$data));
}
}
?>
当调用在我的控制器/test_dev /变化我已经得到了很好的表现,静态$ DATA属性被修改的方法“变”并可检索。
我获得:
阵列(2){[ “测试1”] =>串(5) “DATA1”[ “test2的”] =>串(5) “DATA2” }
但使用方法 '检查' 时,/test_dev /检查,我只得到$数据的初始值。
串(0) “”
我expacting通过使用 '检查' 的方法也得到第一结果。我不知道我的代码中有什么问题来检索不同方法中的静态属性。
感谢您的支持!
Erwann
熏制你好,对不起,我可能会错过一些要点:使用时先“变”功能我认为$的数据将通过代码“自我:: $ DATA改变=阵列( 'TEST1'=> 'DATA1', 'TEST2'=> '数据2');”并在使用“检查”功能时检索这些值。 但是'check'函数给出了$ data的初始化值,而不是我在执行过程中'change'函数中给出的值。 – ertop