2009-02-15 8 views
1

Par page d'erreur par défaut dans ZF ressemble à ceci:Comment rendre la page d'erreur de Zend Framework plus claire et plus belle?

Fatal error: Uncaught exception 'Zend_Form_Exception' with message 'Method setDeault does not exist' in /usr/home/.../library/Zend/Form.php:2838 
Stack trace: 
#0 [internal function]: Zend_Form->__call('setDeault', Array) 
#1 /usr/home/.../application/admin/controllers/TagsController.php(40): Web_Form_Admintags->setDeault('tagstext', '....') 
#2 /usr/home/.../library/Zend/ 

Y at-il des façons de changer ce désordre description de l'erreur pour former plus clairement (quelque chose comme page d'erreur Django)?

+0

Pour décharge d'exception prolongée, je suggère d'utiliser Nette \ Debugger (http://translate.google.com/translate?u=http%3A%2F%2Fdoc.nette.org%2Fcs%2Fdebugging&ie=UTF8&sl=cs&tl=fr) –

Répondre

1

Ce n'est pas une page d'erreur, mais une sortie PHP standard pour les exceptions non interceptées. Pour autant que je sache, il n'y a pas de page d'erreur par défaut dans Zend Framework - vous devrez créer votre propre page en créant une vue appropriée pour le ErrorController. AFAICR utilise-t-il le contrôleur d'erreur à droite?

1

Ce message est essentiellement le vidage du exception object. Vous pouvez diviser en appelant différentes parties individuellement plutôt que de jeter le lot entier sous forme de chaîne. Voir la page de manuel à laquelle je me suis connecté.

Assurez-vous de fournir uniquement des informations d'exception lorsque le APPLICATION_ENVIRONMENT est également défini sur development.

0

L'exception est mise en forme à l'aide de nouvelles lignes, qui ne sont cependant pas transformées en
en html. Vous avez plusieurs options ...

  1. Enveloppez l'erreur avec <pre></pre> balises
  2. Créez gestionnaire d'exception personnalisée

 

function exception_handler($exception) { 
    echo "Uncaught exception: " , $exception->getMessage(), "\n"; 
} 

set_exception_handler('exception_handler'); 
Questions connexes