几年前有一个类似的问题,但我不太明白答案(链接到问题)
我的问题如下:我创建了一个从控制器调用的库,并且在该库中我使用了 CodeIgniter 提供的图像处理功能。但这显然是一个图书馆。从控制器来说没有问题:$this->load->library('image_lib', $config);
$config 变量当然具有创建图像的参数。问题是:如何从另一个库中调用该库(并传递 $config 数组)?
提前致谢。
几年前有一个类似的问题,但我不太明白答案(链接到问题)
我的问题如下:我创建了一个从控制器调用的库,并且在该库中我使用了 CodeIgniter 提供的图像处理功能。但这显然是一个图书馆。从控制器来说没有问题:$this->load->library('image_lib', $config);
$config 变量当然具有创建图像的参数。问题是:如何从另一个库中调用该库(并传递 $config 数组)?
提前致谢。
在这里,您如何在助手和其他库中执行此操作:
$ci =& get_instance();
$config = array(
//...
);
$ci->load->library('image_lib', $config);
$ci->image_lib->whatever();
您在这里所做的是获取 CodeIgniter 单例对象的实例并使用它,因为库无法使用,$this
因为库中$this
的 used 指向它们自己。简单地做所有你平常的事情,但使用$ci->
而不是$this->
您的$this var 将丢失它的 CodeIgniter 资源,要使用 CodeIgniter 资源,您必须创建它的另一个实例 get_instance();
$CI =& get_instance();
现在您可以像使用 $this 一样使用 $CI
您可以在“在您的库中使用 CodeIgniter 资源”下阅读更多相关信息http://codeigniter.com/user_guide/general/creating_libraries.html