hotti: OOP php: verschachtelte Klassen und ein Zugriff auf eine Eigensc

Beitrag lesen

hi,

Einen solchen ExceptionHandler() habe ich in vielen Klassen eingebaut und normalerweise klappt das mit dem Global und dem Anhängen der Exception an den Array. Nur nicht, wenn es im Konstruktor der Site geschieht. Logisch: denn dann ist das Objekt $Site noch nicht vorhanden.

Für meinen Teil mache ich sowas mit Perl, aber die Sachlage ist ähnlich, so sorge ich dafür, dass das $Site-Objekt in jedem Fall erstellt wird um die Ausgabe einer Response sicherzustellen. Wenn bereits im Konstruktor eine Exception auftritt, beispielweise ein Fehlschlagen der DB-Verbindung, halte ich das ein einer Eigenschaft des $Site-Objekts fest, bei mir in {ERR}, was bei mir ebenfalls ein Array ist.

Treten im Verlauf der Anwendung weitere Exceptions auf, erfolgt ein Push auf das Error-Attribut (Array: Exceptions). Mein 'Trick' besteht nun darin, am Ende, wenn die Response ausgegeben werden soll, nicht einfach den Body auszugeben, sondern eine spezielle Methode (getbody) aufzurufen: Diese Methode getbody wirft einen Blick in das Exception-Array, liegen darin Einträge vor, wird der Body komplett ausgetauscht, auch wenn dieser bis dahin einen anderen Inhalt hat.

Hotti