Codeigniter - autoloading Modelle mit aliases
Wenn ich manuell laden von Modellen in codeigniter
ich kann geben Sie einen alias wie folgt:
$this->load->model("user_model","user"); //user is an alias to user_model
$this->user->getProfile(); //use the alias to refer to the actual model
Einige dieser Modelle werden ausgiebig in meine Bewerbung und so entschied ich mich autoload Sie mit autoload.php
. Ich weiß, ich kann laden so:
$autoload['model'] = array("user_model","another_model");
Jedoch auf Sie verwiesen wird alle über Ihre Aliase. Ich will laden Sie Sie mit den bestehenden alias-Namen, so dass der aktuelle code ist nicht gestört.
Ich denke, ich kann etwas code, wie dies in einer geladen Helfer vielleicht:
$ci= &get_instance();
$ci->user = $ci->user_model;
Aber was ich wollte, zu prüfen ist, kann ich das Modell laden mit alias-Namen, während autoloading?
InformationsquelleAutor Undefined Variable | 2014-06-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
ja, Sie können erstellen Sie denselben alias im autoload-pass wie ein array aber nicht probieren possiable nur mit alias können Sie erstellen, die gleiche alias wie auto Ladezeit.
oder versuchen
Mehr :- https://github.com/EllisLab/CodeIgniter/issues/2117
http://ellislab.com/forums/viewthread/110977/#560168
$autoload['model'] = array(array('users_model', 'users'));
und$autoload['model'] = array(array("user_model" => "users"));
haben Sie es ausprobiert ? beides wird nicht funktionieren, für mich auch.
überprüfen Sie aktualisierte Antwort und link
es ist erhältlich in
3.0-dev
version (habe ich noch nicht getestet), aber nicht in2.2.0
Ich habe getestet auf 2.x und es funktioniert nicht. Aber Sie können die Umsetzung Ihrer ci, check out github.com/nonchip/CodeIgniter/commit/...
InformationsquelleAutor Rakesh Sharma
Für CodeIgniter 2.x dies ist nicht möglich in autoloading, aber Sie können es tun, durch die Erweiterung der Standard-controller. Erstellen Sie eine Datei
MY_Controller.php
imapplication/core
Verzeichnis, mit diesem code:Natürlich ersetzen
Example_model
undalias
mit Ihrem entsprechenden Modell und die gewünschte alias.Dann ändern Sie Ihre Controller zu erweitern
MY_Controller
stattCI_Controller
. Jetzt können Sie$this->alias->whatever()
in jedem Controller.InformationsquelleAutor DisgruntledGoat