PHP isset 不适用于 $this 变量
PHP isset not works on $this variable
我想弄清楚为什么 isset 对 $this 变量不起作用?我正在使用 HMVC codeigniter 并尝试检查模块是否加载成功:
$this->load->module('welcome');
var_dump(isset($this->welcome));
print_r($this->welcome);
结果是:
bool(false) --- This is the result of isset. Below is result of var_dump
Welcome Object
(
[autoload] => Array
(
)
[load] => MY_Loader Object
(
[_module:protected] => welcome
[_ci_plugins] => Array
(
)
[_ci_cached_vars] => Array
(
)
... some other protected variables
[controller] => Welcome Object
*RECURSION*
)
)
为什么设置 returns 为假?
深入检查 CodeIgniter 核心文件后,我发现有一种方法可以检查它:
if(!isset(Modules::$registry['welcome'])) { // check module loaded
return jsonError(2);
}
// module loaded. Go ahead
我想弄清楚为什么 isset 对 $this 变量不起作用?我正在使用 HMVC codeigniter 并尝试检查模块是否加载成功:
$this->load->module('welcome');
var_dump(isset($this->welcome));
print_r($this->welcome);
结果是:
bool(false) --- This is the result of isset. Below is result of var_dump
Welcome Object
(
[autoload] => Array
(
)
[load] => MY_Loader Object
(
[_module:protected] => welcome
[_ci_plugins] => Array
(
)
[_ci_cached_vars] => Array
(
)
... some other protected variables
[controller] => Welcome Object
*RECURSION*
)
)
为什么设置 returns 为假?
深入检查 CodeIgniter 核心文件后,我发现有一种方法可以检查它:
if(!isset(Modules::$registry['welcome'])) { // check module loaded
return jsonError(2);
}
// module loaded. Go ahead