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