Zitat:
Zitat von Praktikant
Wie realisierst du das Lazy-Loading? Mit der Methode __autoload() von php, oder hast du dir da auch etwas eigenes geschrieben?
|
Ja, per __autoload werden die Dateien automatisch eingebunden und fast jedes Objekt wird erst in den get-Methoden, also bei Bedarf, erstellt.
Ein einfaches Beispiel (ohne zusätzliche Config) könnte sein:
PHP-Code:
public function getRouter() {
if (!is_object($this->router) && $this->router !== null) {
$routerClass = (string)$this->router;
$this->router = new $routerClass();
return $this->router;
}
return null;
}
Im Setter kann entweder ein Objekt oder ein String (Klassenname) übergeben werden.
So sind sämtliche Klassen schonmal änderbar, ohne dass man die Objekte im Vorfeld erstellen muss, nur bei zusätzlicher Config.