Я хочу вызвать функцию в библиотеке внутри другой библиотеки, которая написана мной. Возможно ли это сделать в кодеригере? Если да, может кто-нибудь объяснить, как это сделать?
Можно ли вызвать библиотеку codeigniter внутри другого файла библиотеки?
Ответ 1
Вы можете сделать:
$CI =& get_instance();
$CI->load->library('your_library');
$CI->your_library->do_something();
Ответ 2
Как правило, вы ссылаетесь на объект Codeigniter (текущий контроллер, технически), используя get_instance()
. Часто вы хотите присвоить его свойству вашей библиотеки, например:
class My_Library {
private $CI;
function __construct()
{
// Assign by reference with "&" so we don't create a copy
$this->CI = &get_instance();
}
function do()
{
$var = $this->CI->my_other_library->get();
// etc.
}
}
Просто убедитесь, что загружена другая библиотека или в config/autoload.php
.