Heim  >  Artikel  >  Backend-Entwicklung  >  003 – CI verwendet CodeIgniter-Ressourcen in Ihrer Bibliothek

003 – CI verwendet CodeIgniter-Ressourcen in Ihrer Bibliothek

不言
不言Original
2018-04-08 14:39:321121Durchsuche


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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn