访问非 CI 类上的 CI 功能


Accessing CI features on non-CI class

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

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

除非您扩展然后调用 parent::__construct(),否则这显然不起作用。

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

谢谢。

如何从构造启动类?

  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');
    }
}

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

您可以直接在创建库的文档中找到它