Sven Rautenberg: Objekt global bereitstellen

Beitrag lesen

Moin!

»» Deshalb mal zur Beleuchtung: Was macht deine Error-Klasse? Warum muss sie ein globales Objekt sein?

Die Funktion der Error Klasse besteht darin, bestimmte Fehler während ablauf in der Application gemeldet werden, dann gibt die Error Klasse Fehler aus, andere Klassen können aber auch bei Warnings erfragen und somit schauen, in wiefern ein weiterer Ablauf der Application möglich ist.

Also Fehler empfangen, ausgeben, weitergeben

Das ist als Beschreibung etwas dünn.

Allerdings kann ich nicht erkennen, warum es dazu ein globales Fehlerobjekt geben muss. Üblicherweise würde man sowas entweder durch das Werfen passender Exceptions lösen, oder - nicht jeder findet Exceptions den idealen Weg - durch Rückgabe passender Objekte bzw. Ergebnisse: Im erfolgreichen Ausführungsfall eben die Daten, im fehlerhaften Ausführungsfall eine Instanz einer Fehlerklasse.

Ganz trivial löst PHP es selbst z.B. bei den MySQL-Funktionen: Wenn irgendwas falsch läuft, wird anstelle einer Ressource einfach "false" zurückgegeben, und die näheren Fehlerumstände lassen sich durch eine Fehlerabfragefunktion ermitteln. Wenn man sich das für MySQLi mal genauer anschaut: Die DB-Connection bildet ein Objekt, welches z.B. für die Methode "query" ein false zurückgeben kann, der Fehler ist dann durch die Methode "error" zu erfahren.

- Sven Rautenberg