1

几年前有一个类似的问题,但我不太明白答案(链接到问题

我的问题如下:我创建了一个从控制器调用的库,并且在该库中我使用了 CodeIgniter 提供的图像处理功能。但这显然是一个图书馆。从控制器来说没有问题:$this->load->library('image_lib', $config);$config 变量当然具有创建图像的参数。问题是:如何从另一个库中调用该库(并传递 $config 数组)?

提前致谢。

4

2 回答 2

4

在这里,您如何在助手和其他库中执行此操作:

$ci =& get_instance();

$config = array(
    //...
);
$ci->load->library('image_lib', $config);

$ci->image_lib->whatever();

您在这里所做的是获取 CodeIgniter 单例对象的实例并使用它,因为库无法使用,$this因为库中$this的 used 指向它们自己。简单地做所有你平常的事情,但使用$ci->而不是$this->

于 2012-08-23T15:30:51.870 回答
1

您的$this var 将丢失它的 CodeIgniter 资源,要使用 CodeIgniter 资源,您必须创建它的另一个实例 get_instance();

$CI =& get_instance();

现在您可以像使用 $this 一样使用 $CI

您可以在“在您的库中使用 CodeIgniter 资源”下阅读更多相关信息http://codeigniter.com/user_guide/general/creating_libraries.html

于 2012-08-23T15:35:07.407 回答