0

我试图在 libraryB 的构造函数中调用 libraryB 中的 libraryA。我知道我可以做到:

$CI =& get_instance();
$CI->load->library('A');
$CI->A->someFunc()

但是,如果不使用BI 中尝试访问的任何功能$CI->A->someFunc()启动它, 我就无法调用它。在其他情况下,我只能在构造函数中启动它,并在类中的任何函数中调用模型。如何实现相同的功能,而不必在我想使用的每个函数中一遍又一遍地重写上面的代码块?$CI =& get_instance(); $CI->load->library('A');someFunc();$this->load->model('somemodel');$this->load->someFunc();

4

1 回答 1

0

我不是 100% 清楚这就是您要问的(您的问题令人困惑),但是您可以将 CI 实例保存为属性,然后从课堂上的任何地方访问它。

class My_library {

    protected $CI;

    public function __construct()
    {
        $this->CI =& get_instance();

        $this->CI->load->library('other_library');
    }

    public function someMethod()
    {
        // Use the library (and the CI object) via the CI property.
        $var = $this->CI->other_library->anotherMethod();
    }
}
于 2013-09-07T04:08:24.540 回答