Wie ich gestern bereits gepostet habe, hat das Responseobjekt Vollzugriff auf die gesamte Konfiguration. Das ist wichtig, damit Attribute auch persistent geändert werden können (Content Management).
Nun kommt wieder OOP ins Spiel und so haben wir: Sämtliche Konfigurationsdaten stecken in einer Instanz der Klasse Config (soweit bist Du ja auch schon). Ergo müssen wir über die Config-Instanz nur die Methode write() aufrufen und wohin die dann die Daten schreibt ist in der Methode slebst definiert.
Verbindung zischen nicht verwandten Klassen kannst Du infolge Aggegation+Delegation herstellen (Dependency Injection). Wir haben:
- das Response Object als instanz der Klasse, welche die Response erzeugt
- das Config Object
So injezieren wir das Config Objekt in die Unter (1) genannte Instanz als Attribut. Was zur Folge hat, oh wie schön, wir könmnen write() als eigene Methode der unter (1) erzeugten Instanz aufrufen.
Moment mal, es gibt noch mehr zu schrieben, 3. Kommt hinzu, die Sessiondaten. Kein Problem wir machen das wie bei 1. u. 2. nur nennen wir die Methoten um damit wir die nicht verwechslen:
- write_config()
- write_session()
Und wenn wir das so gemacht heben, sehen wir, wie kluch das alles ist, weil wir nur noch in den Destructor der Responseklasse greifen müssen um solche einfachen Sachen zu regeln.
Die von mir vor einiger Zeit erwähnte Factory ist eine Rafinesse der hier vermittelten Grundlagen.