如何在Codeigniter的抽象类中获得get_instance


How to get get_instance in abstract class in Codeigniter?

有三个类:

标准控制器类别:

class LoaderContent extends CI_Controller {
        public function __construct(){
        $obj = new SearchNew();
      }
}

abstract class Search
{
// Get here access to get_instance
}

class SearchNew extends Search
{
    public function __construct()
    {
        parent::__construct($type);
    }
}

如何访问抽象类中的 Codeigniter 实例?

在 Codeigniter 中,get_instance() 是一个全局可用的函数,它返回包含所有当前加载类的控制器超对象(它返回控制器类实例)。首先,将 CodeIgniter 对象分配给一个变量:

$CI =& get_instance();

对象分配给变量后,您将使用该变量而不是$this:

$CI =& get_instance(); 
$CI->load->helper('url'); 
$CI->load->library('session');
$CI->config->item('base_url');

等。

注意:您会注意到上面的 get_instance() 函数是通过引用传递的:

$CI =& get_instance();