PHP isset不适用于$this变量



我想弄清楚为什么isset不能在$this变量上工作?我正在使用HMVC代码点火器,并试图检查模块是否成功加载:

$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*
)
)

为什么isset返回false?

在深入检查CodeIgniter核心文件后,我发现有一种方法可以检查它:

if(!isset(Modules::$registry['welcome'])) { // check module loaded
return jsonError(2);
}
// module loaded. Go ahead

最新更新