Heim > Backend-Entwicklung > PHP-Tutorial > CodeIgniter-Studiennotizen 3: Erweiterung von CI-Controllern und -Modellen

CodeIgniter-Studiennotizen 3: Erweiterung von CI-Controllern und -Modellen

WBOY
Freigeben: 2016-08-08 09:22:49
Original
882 Leute haben es durchsucht

1. Erweitern Sie den Controller in CI

Manchmal ist es notwendig, einheitliche Vorgänge auf dem Controller in CI durchzuführen, wie z. B. Anmeldung und Berechtigungsüberprüfung. Dies kann durch Erweitern des CI-Controllers erreicht werden.

Um den CI-Controller zu erweitern, müssen Sie lediglich eine von der CI_Controller-Klasse geerbte MY_Controller-Klasse im Anwendungs-/Kernordner erstellen und dann die benötigte Logik in dieser Klasse implementieren.

Bezüglich des obigen Satzes gibt es zwei Punkte, die erklärt werden müssen:

1. Warum befindet es sich im Ordner application/core: weil sich die Basisklasse CI_Controller im System/Core befindet Ordner, der dem System entsprechen muss.

2. Warum ist das Präfix des erweiterten Controllers MY_? Kann es in ein anderes geändert werden? Dieses Präfix ist in application/config/config.php definiert:

<span>$config</span>['subclass_prefix'] = 'MY_';
Nach dem Login kopieren

Es müssen nur diese beiden Orte übereinstimmen.

2. Modell

Beispielanwendung/models/user_model.php:

<?<span>php
    </span><span>/*</span><span>*
    * User_model
    </span><span>*/</span><span>class</span> User_model <span>extends</span><span> CI_Model{

        </span><span>//</span><span>return all users</span><span>public</span><span>function</span><span> getAll() {
            </span><span>$res</span> = <span>$this</span> -> db -> get('test'<span>);
            </span><span>return</span><span>$res</span> -><span> result();
        }
    }</span>
Nach dem Login kopieren

Hinweis:

Die Der Dateiname besteht ausschließlich aus Kleinbuchstaben

2. Der erste Buchstabe des Klassennamens wird groß geschrieben

3. Die Attribute im Superobjekt können im Modell verwendet werden

4. Es wird empfohlen, _model als Suffix zu verwenden, um Konflikte mit anderen Klassennamen zu vermeiden.

Anwendungsbeispiel:

<span>public</span><span>function</span><span> index() {
    </span><span>//</span><span>load model</span><span>$this</span> -> load -> model('User_model'<span>);
    </span><span>$usermodel</span> = <span>$this</span> -> User_model -><span> getAll();

    </span><span>//</span><span>别名</span><span>$this</span> -> load -> model('User_model', 'user'<span>);
    </span><span>$usermodel</span> = <span>$this</span> -> user -><span> getAll();
    </span><span>var_dump</span>(<span>$usermodel</span><span>);
}</span>
Nach dem Login kopieren

Das Modell wird hauptsächlich zur Standardisierung des Projekts verwendet Struktur.

Das Obige stellt den CodeIgniter-Studienhinweis 3 vor: Erweiterung des CI-Controllers und -Modells, einschließlich Aspekten des Inhalts. Ich hoffe, dass er für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

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