访问非CI类的CI功能

时间:2013-11-11 00:22:16

标签: php codeigniter

例如,我想从我的类库中访问CI上的配置。

Class A {
  funcion x() {
   $this->config->load('my_config'); // accessing my_config
  }
}

除非你扩展然后调用parent :: __ construct()。

,否则显然不起作用

据我所知,它只能通过扩展CI_Controller或CI_Model的类来完成。如何在非CI类上访问CI内容(配置,帮助,模型等)?

感谢。

2 个答案:

答案 0 :(得分:1)

如何从构造中启动类?

  include ("CI_Page.php");
class A {
     protected $_CIInstance1;
     protected $_CIInstance2;
    public function __construct(){ 

     $this->_CIInstance1 = new xxxx();
     $this->_CIInstance2 = new yyyy();
    }

    public function x(){
      $this->_CIInstance1->load('my_config');
    }
}

答案 1 :(得分:1)

您可能希望访问CI的实例,就像它是超级变量$this一样。实际上,您需要的是能够访问与$this相同的功能,为此,您需要使用$CI =& get_instance();

您可以直接在documentation for Creating Libraries

中找到它