ErrorHandler sert à gérer les erreurs 404 ou 500.
Attention, le plugin n'est pas destiné à intervenir sur les exceptions envoyées dans
d'autres plugins. Des effets de bords peuvent apparaître, veillez à les gérer.
ErrorController::errorAction() dans le module par défaut. Vous pouvez passer
d'autres valeurs via les accesseurs du plugin :
setErrorHandlerModule() définit le module à utiliser.setErrorHandlerController() définit le contrôleur à
utiliser.
setErrorHandlerAction() définit l'action à utiliser.setErrorHandler() est un raccourci des trois précédantes. Passez
un tableau avec les clés "module", "controller", or "action", et leurs valeurs
appropriées.
setErrorHandler().
postDispatch() et analyse
l'objet de réponseà la recherche
d'éventuelles exceptions. Si il y en a, alors le plugin modifie la requête pour distribuer
le contrôleur et l'action d'erreur.
dispatch, du contrôleur frontal ; d'un bloc try /
catch.
ErrorHandler capture les exceptions relatives à un problème de
contrôleur ou action manquants, vous pouvez donc l'utiliser comme un gestionnaire
d'erreurs 404. Pour cela, il faut analyser le type d'exception ayant mené à
l'erreur.
$errors->type. Des constantes sont à votre disposition :
exception de l'objet le
permet :
render(), il est possible que la réponse contienne déjà des éléments
lorsque ErrorHandler agit.
ErrorHandler est actif par défaut, dans le contrôleur frontal. Il est
cependant possible de le désactiver, passez un paramètre au contrôleur frontal :
ErrorHandler, un contrôleur d'erreurs est
requis. En voici un exemple :
Page introuvable.
EOH; break; default: // application error $content =<<Une erreur innatendue est survenue
EOH; break; } // Vide le contenu de la réponse $this->getResponse()->clearBody(); $this->view->content = $content; } } ]]>