2012-10-06 72 views
0

笨的升級後,我得到這個消息

無法訪問受保護的財產MY_Loader :: $ _ ci_cached_vars

我知道,這家酒店現在受到保護所以我改變

else if (isset($CI->load->_ci_cached_vars[$key])) 
    { 
     $val = $CI->load->_ci_cached_vars[$key]; 
    } 

if (isset($CI->load->get_var($key))) 
    { 
     $val = $CI->load->get_var($key); 
    } 

但後來我得到

在寫情況下無法使用方法的返回值

get_var方法

我能做些什麼,只需使用

if ($CI->load->get_var($key)) != null) { 
     $val = $CI->load->get_var($key); 
    } 

沒有isset?我想檢查是否不爲NULL,因爲get_var方法返回null

或者是if ($CI->load->get_var($key))) {檢查是否足夠?

回答

1

你不能在一個函數中使用isset

$CI->load->get_var($key)總是返回「東西」 - 但是那是什麼「東西」是依賴。

所以你是正確的 - 下面的代碼將實現你的目標。如果函數返回「null」 - 那麼isset已經失敗。如果該函數返回其他內容(除了null) - 那麼你將有一個有效的返回。

if ($CI->load->get_var($key)) != null) { 
     $val = $CI->load->get_var($key); 
    } 
相關問題