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

003 – CI verwendet CodeIgniter-Ressourcen in Ihrer Bibliothek

不言
Freigeben: 2023-03-23 10:10:02
Original
1134 Leute haben es durchsucht


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.
Nach dem Login kopieren

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();
Nach dem Login kopieren

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.
Nach dem Login kopieren


Hinweis:

Sie sehen die oben genannten get_instance() Funktionen werden als Referenz übergeben:


$CI =& get_instance();
Nach dem Login kopieren

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');
    }

}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage