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_';
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>
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>
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.