2

我遇到的问题是我正在尝试在我在 codeigniter 中创建的另一个自定义库中使用自定义库。它们都在库文件夹中,CodeIgniter 告诉我必须首先加载我所做的 CI 实例......

class MyClass {

public function __construct()
{
    $CI =& get_instance();
    $CI->load->library("OtherClass");
}

现在在这个类中的一个函数内部,我正在尝试使用我的其他库..

public function my_function()
{
      $CI->otherclass->function_inside_this_class();
}

我得到的错误是

A PHP Error was encountered
Severity: Notice
Message: Undefined variable: CI
Filename: libraries/MyClass.php
Line Number: 20

在声明 codeigniter 实例本身方面有什么我遗漏的吗?

谢谢!

4

2 回答 2

10

您的 CI 变量范围目前仅限于构造函数。您可以创建一个具有类范围的类变量,并且可以通过$this->variable该类中的所有函数访问。

class MyClass {

private $_CI; // make a private class variable here. 

public function __construct()
{
    $this->_CI =& get_instance();
    $this->_CI->load->library("OtherClass");
}
public function my_function()
{
    $this->_CI->otherclass->function_inside_this_class();
}
于 2012-09-20T18:41:54.007 回答
0

我认为你不应该使用 CI。在 中包含second_library.php并创建一个新类first_library.php。还是不可能?

于 2012-09-20T19:38:13.643 回答