Heim > Artikel > Backend-Entwicklung > 003 – CI verwendet CodeIgniter-Ressourcen in Ihrer Bibliothek
Verwenden Sie für den Zugriff die Funktion get_instance() in Ihrer Klassenbibliothek Diese Funktion ist die native Ressource von CodeIgniter und gibt das CodeIgniter-Superobjekt zurück.
Normalerweise würden Sie in Ihren Controller-Methoden $this verwenden, um alle verfügbaren aufzurufen CodeIgniter-Methoden:
$this->load->helper('url'); $this->load->library('session'); $this->config->item('base_url'); // etc.
Aber $this kann nur direkt in Ihrem Controller, Modell oder Ihrer Ansicht verwendet werden, wenn Sie möchten es in Ihrer eigenen Klasse verwenden CodeIgniter-Klasse können Sie wie folgt vorgehen:
Zuerst das CodeIgniter-Objekt einer Variablen zuweisen:
$CI =& get_instance();
Sobald Sie das CodeIgniter-Objekt einer Variablen zugewiesen haben, können Sie Folgendes tun Verwenden Sie diese Variable, um durch $this
zu ersetzen
$CI =& get_instance(); $CI->load->helper('url'); $CI->load->library('session'); $CI->config->item('base_url'); // etc.
Hinweis:
Sie sehen die oben genannten get_instance() Funktionen werden als Referenz übergeben:
$CI =& get_instance();
Dies ist sehr wichtig. Durch die Referenzzuweisung können Sie das ursprüngliche CodeIgniter-Objekt verwenden anstatt eine Kopie zu erstellen.
Da es sich bei der Klassenbibliothek um eine Klasse handelt, sollten wir die OOP-Prinzipien vollständig nutzen. Damit alle Methoden in der Klasse das CodeIgniter-Superobjekt verwenden können Es wird empfohlen, es einem Attribut zuzuweisen:
class Example_library { protected $CI; // We'll use a constructor, as you can't directly call a function // from a property definition. public function __construct() { // Assign the CodeIgniter super-object $this->CI =& get_instance(); } public function foo() { $this->CI->load->helper('url'); redirect(); } public function bar() { echo $this->CI->config->item('base_url'); } }
Verwandte Empfehlungen:
002 – Unterschiede und Auswahlmöglichkeiten zwischen PDO und MySQLi
001 - Detaillierte Analyse der PDO-Nutzung
Das obige ist der detaillierte Inhalt von003 – CI verwendet CodeIgniter-Ressourcen in Ihrer Bibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!