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