Codeigniterをアップグレードした後、このメッセージが表示されます
保護されたプロパティ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
方法です
/**
* Get Variable
*
* Check if a variable is set and retrieve it.
*
* @param array
* @return void
*/
public function get_var($key)
{
return isset($this->_ci_cached_vars[$key]) ? $this->_ci_cached_vars[$key] : NULL;
}
何ができますか、使用するだけです
if ($CI->load->get_var($key)) != null) {
$val = $CI->load->get_var($key);
}
issetなし?get_var
メソッドがnullを返すため、がNULLでないかどうかを確認したい
または if ($CI->load->get_var($key))) {
チェックで十分ですか?