2009-12-27 2 views
5

Ich frage mich, welche Muster gibt es für die Behandlung von Fehlern in PHP?Gibt es Muster für die Handhabung von Fehlern in PHP-Projekten?

Ich bin kurz davor, ein globales ErrorManager-Objekt zu erstellen, das über Methoden zum Hinzufügen von Nachrichten verfügt. Wenn meine gesamte App kompiliert wird, wird jeder auftretende Fehler in diesem ErrorManager-Objekt protokolliert. Am Ende meines Front Controllers (die letzten paar Zeilen des Skripts) sage ich dem ErrorManager, dass er Fehler anzeigt (falls vorhanden). Eine Sache, über die ich nachgedacht habe: Besucher interessieren sich wirklich nicht für technische Details. Stattdessen sollten sie eine schöne Fehlerseite mit einem großen "SORRY" erhalten und eine Information, dass der Fehler gemeldet wurde. Dann sendet der ErrorManager eine E-Mail mit allen verfügbaren Informationen an den Administrator und protokolliert diese in einer Fehlerprotokolldatei. Diese Datei kann über das Backend angezeigt werden, um die Entwicklung zu vereinfachen.

Keine Ahnung, ob das eine gute Strategie ist. Ich wette, Sie kennen die besseren :-)

Antwort

4
3

Sie sollten niemals irgendwelche Besucher technische Fehlermeldungen sehen lassen. Sie müssen es nicht sehen und es ist ein Sicherheitsfehler. Wenn ein Benutzer eine SQL-Injection entdeckt, erleichtert das Anzeigen der SQL-Fehlermeldung die Entwicklung der Datenbankstruktur.

Beim E-Mail-Versand möchten Sie sehr vorsichtig sein, denn der Administrator schläft möglicherweise, wenn der Fehler auftritt, und endet mit 20.000 E-Mails in seinem Posteingang, wenn er aufwacht.

Eine bessere Idee ist es, eine Protokolldatei oder Datenbank zu verwenden und eine einzelne E-Mail eine Stunde (oder Tag) zu senden, wenn ein Fehler auftritt. Auf diese Weise gibt es maximal 12 Emails über Fehler.

+0

guter Punkt mit E-Mail! – openfrog

Verwandte Themen