如何在另一个库中加载库?

时间:2012-08-23 15:28:11

标签: php codeigniter

几年前有一个类似的问题,但我不太明白答案(link to the question

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

提前致谢。

2 个答案:

答案 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