ErrorHandler Plugin kreiert worden um HTTP 404 Fehler zu
behandeln (fehlende Seite) und 500 Fehler (interner Fehler). Es ist nicht dazu gedacht Ausnahmen
zu fangen die in anderen Plugins oder durch das Routen verursacht werden.
ErrorController::errorAction() im Standardmodul weiter. Es kann ein alternativer Wert für dieses
gesetzt werden durch Verwendung der diversen Zugriffsmethoden die zu dem Pligin existieren:
setErrorHandlerModule() setzt das Kontroller Modul das verwendet werden soll.
setErrorHandlerController() setzt den Kontroller der verwendet werden soll.
setErrorHandlerAction() setzt die Kontroller Aktion die verwendet werden soll.
setErrorHandler() nimmt ein assoziatives Array, welches einen der Schlüssel
'module', 'controller', oder 'action' enthalten kann und mit denen es die gewünschten Werte setzt.
setErrorHandler() weitergeleitet wird.
postDispatch() Hook und
prüft auf Ausnahmen die im Antwort Objekt registriert
sind. Wenn welche gefunden werden, versucht es zur registrieren Fehler Handler Aktion weiterzuleiten.
ErrorHandler Plugin nicht nur Anwendungsfehler erfasst, sondern auch Fehler in der
Kontroller Kette die durch fehlende Kontroller Klassen und/oder Aktions Methoden auftreten, kann es
als 404 Handler verwendet werden. Hierfür muß der eigene Fehler Kontroller den Typ der Ausnahme prüfen.
$errors->type
erhalten. Es wird eines der folgenden sein:
exception Eigenschaft des error_handler Objektes genommen wird:
render() macht, ist es möglich das das Antwort Objekt bereits Inhalt in sich gespeichert
hat. Das kann dazu führen das eine Mixtur vin erwartetem Inhalt und Fehler Inhalt gerendert wird.
Die angefragte Seite konnte nicht gefunden werden.
EOH; break; default: // Anwendungsfehler $content =<<Ein unerwarteter Fehler trat auf. Bitte versuchen Sie es etwas später nocheinmal.
EOH; break; } // Vorherige Inhalte löschen $this->getResponse()->clearBody(); $this->view->content = $content; } } ]]>