2011-01-07 18 views
0

Ich bin neu in codeigniter.CodeIgniter Basic

Ich möchte Verwendung von $ CI = & get_instance();

ist diese Verwendung für Fehlerprotokollierung oder globale Konfigurationsvariable.

danke im voraus.

Antwort

9

Von CodeIgniter Handbuch:

$ CI = & get_instance();

Nachdem Sie das Objekt einer Variablen zugewiesen haben, verwenden Sie diese Variable statt $ dieses:

$CI =&get_instance(); 

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

Hinweis: Sie werden feststellen, dass die oben genannten get_instance() Funktion wird als Referenz übergeben:

$CI =& get_instance(); 

Das ist sehr wichtig. Die Zuweisung durch Referenz ermöglicht Ihnen, das Original-CodeIgniter-Objekt statt zu verwenden, anstatt eine Kopie davon zu erstellen.

Auch ist zu beachten: Wenn Sie PHP 4 laufen, es ist in der Regel am besten Aufruf get_instance() innerhalb Ihre Klassenkonstruktoren zu vermeiden. PHP 4 hat Problem Verweis auf die CI Super Objekt innerhalb der Anwendungskonstruktoren seit Objekte nicht existieren, bis die Klasse vollständig instanziiert ist.

-Link: http://codeigniter.com/user_guide/general/creating_libraries.html

+0

dank es hilft mir sehr. vielen Dank –

0

Nur die Klasse, die CI_Controller, Modell erweitert, kann View verwenden

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

Ihre benutzerdefinierte Klasse kann nicht den obigen Code verwenden. Um die oben genannten Funktionen in der benutzerdefinierten Klasse zu verwenden, Ihre

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

zum Beispiel verwenden müssen, in der benutzerdefinierten Klasse

// 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.