samedi 28 mars 2009

Contrôler les erreurs avec FirePHP

Si vous développez des sites web, j'espère que vous utilisez Firefox ainsi que son extension FireBug ou un équivalent. Ce que je vous montre aujourd'hui, c'est comment automatiser la gestion des erreurs afin d'éviter les messages automatiquement écrits par Apache.

Ce n'est pas un secret: Les messages d'erreurs par défaut ne font jamais l'affaire
Ce que je vous propose aujourd'hui, c'est de modifier ce qui était autrefois:

Notice: No translation found for string 'title' in en and in DEFAULT_LANG in C:\wamp\www\           \class\Internationalizable.php on line 76

En ceci, qui est invisible aux utilisateurs qui n'utilisent pas l'extension FirePHP:

firephp

Les avantages?
  • Le message d'erreur n'apparaît pas directement sur la page (séparation du contenu);
  • Les erreurs sont reçues même si elles sont levées lors d'une requête AJAX;
  • Informations beaucoup plus complètes, incluant la pile d'appels ayant mené à l'exception;
  • Possibilité de transférer des informations complexes à la console client, ex: "FB::warn($_SESSION,'$_SESSION');";
  • Toutes les erreurs sont enregistrées dans le fichier FirePHPCore/errors.html.
Voici maintenant comment faire. Vous êtes chanceux, j'ai déjà tout inclus dans un fichier que vous pouvez télécharger librement!

2 ième étape: Télécharger mon script
http://www.ericgagnon.net/files/error_handler.zip


Et voilà! J'espère que ça va vous être utile!