Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
M'inspirant de plusieurs sources j'essaie de mettre en place une gestion des erreur et un debug.
J'ai donc un contrôleur d'erreur :
<?php class ErrorController extends Zend_Controller_Action { public function errorAction() { $this->exception = $this->_getParam('error_handler'); switch ($this->exception->type) { case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER: case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION: $priorité = 4; $liberreur = 'Page introuvable'; break; case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_OTHER: switch (get_class($this->exception->exception)) { case 'Zend_Viewexception' : $priorité = 1; $liberreur = 'Erreur de traitement d\'une vue'; break; case 'Zend_Dbexception' : $priorité = 1; $liberreur = 'Erreur de traitement dans la base de données'; break; case 'Zend_Auth_Adapterexception' : $priorité = 1; $liberreur = 'Erreur de traitement dans l identification'; break; default: $priorité = 1; $liberreur = 'Erreur inconnue'; break; } break; } $this->view->message = $liberreur; $logger = Zend_registry::get('logger'); $logger->log($liberreur,$priorité); if (Zend_Registry::get('config')->debug->actif) { Zend_Debug::dump($this->exception,null,true); } } } ?>
et une vue :
<html> <head> <title>Erreur</title> </head> <body> <h1>Erreur</h1> <p>Une erreur de type "<?php echo $this->message ?>" est apparue</p> </body> </html>
Les messages de debug qui sont affichés suite à une erreur ne comportent pas le nom et la ligne du fichier dans lequel le dernier appel ayant causé l'exception a été fait. Je ne sais pas si je suis clair, j'aimerais identifier la ligne que j'ai tapé qui ne va pas
Dernière modification par bertra (04-03-2008 16:43:10)
Hors ligne
Logiquement, toute exception dispose des méthodes getTrace() et getTraceAsString().
Cordialement.
Hors ligne
Pages: 1