CodeIgniter Basic - PullRequest
       1

CodeIgniter Basic

0 голосов
/ 07 января 2011

Я новичок в codeigniter.

Я хочу знать, как использовать $ CI = & get_instance ();

- это использование для регистрации ошибок или глобальной переменной конфигурации.

Заранее спасибо.

Ответы [ 2 ]

9 голосов
/ 07 января 2011

Из руководства CodeIgniter:

$ CI = & get_instance ();

Как только вы присвоите объект переменной, вы будете использовать эту переменную вместо $this:

$CI =&get_instance();

$CI->load->helper('url');
$CI->load->library('session');
$CI->config->item('base_url'); etc.

Примечание: вы заметите, что вышеуказанная функция get_instance () передается по ссылке:

$CI =& get_instance();

Это очень важно.Назначение по ссылке позволяет вам использовать исходный объект CodeIgniter, а не создавать его копию.

Также обратите внимание: если вы используете PHP 4, обычно лучше избегать вызова get_instance () из конструкторов вашего класса,В PHP 4 возникают проблемы со ссылками на суперобъект CI внутри конструкторов приложений, поскольку объекты не существуют до полного создания экземпляра класса.

Ссылка: http://codeigniter.com/user_guide/general/creating_libraries.html

0 голосов
/ 28 апреля 2017

Только класс, который расширяет CI_Controller, Model, View, может использовать

$this->load->library('something');
$this->load->helper('something');//etc

Ваш пользовательский класс не может использовать вышеуказанный код.Чтобы использовать вышеуказанные функции в вашем пользовательском классе, вы должны использовать

$CI=&get instance();
$CI->load->library('something');
$CI->load->helper('something');

, например, в своем пользовательском классе

// this following code will not work
Class Car
{
   $this->load->library('something');
   $this->load->helper('something');
}


//this will work
Class Car
{
   $CI=&get_instance();
   $CI->load->library('something');
   $CI->load->helper('something');
}
// Here $CI is a variable.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...