在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