Hallo,
ersteinmal möchte ich sagen das ich ein absoluter Neuling auf dem Gebiet MVC & PHP Frameworks bin. Langsam fange ich aber an der Framework zu verstehen und das geniale Prinzip hinter diesem (bzw. MVC).
Also, es geht um folgendes. Wenn ich ein Model für ein Formular benötige lege ich dies (wie in der automatisch erstellten webapp) im Ordner "models" ab.
Damit dieses Model dann auch von Yii gefunden wird füge ich der Config über 'import' folgenden Pfad hinzu: 'application.models.*'.
So, und hier möcht ich was ändern. In der Dokumentation habe ich irgentwo ein Kommetar gelesen in dem steht, dass es zum guten Brauch gehört alle Klassen einzufügen und nicht nur eine einzelne.
Aber mal angenommen ich habe ein riesiges Projekt mit 100ten models (Fiktion), die ja dann alle eingebunden werden, dass würde dann ja immens Zeit kosten.
Kann man nicht irgentwie einstellen das die Models in dem Ordner nur bei bedarf geladen werden?
Ich speichere die Models z.B. unter "models/XyzModel.php" und nenne die Klasse "XyzModel", sollte also kein problem sein mittels autoload.
Und noch eine Frage am Rande, beim durcharbeiten von "Working with Forms" in der Doku wird ganz unaufällig folgender Codeschnippsel erläutert:
public function authenticate($attribute,$params)
{
if(!$this->hasErrors()) // we only want to authenticate when no input errors
{
$identity=new UserIdentity($this->username,$this->password);
if($identity->authenticate())
{
$duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days
Yii::app()->user->login($identity,$duration);
}
else
$this->addError('password','Incorrect password.');
}
}
Aber es wird zu keiner Zeit geschrieben wie, und wo die Klasse "UserIdentity" angelgt wird/werden muss?! Irre ich mich da? Hab ich was übersehen?