Gestion personnalisée des erreurs PHP

Eléphant du PHP | 121 Messages

11 nov. 2008, 11:54

Bonjour à tous,

Je vous propose aujourd'hui la découverte de la classe WdDebug qui m'est bien utile pour trouver rapidement d'où viennent les problèmes ou – lorsque la phase de production et terminée – d'être prévenu d'éventuelles erreurs avant que cela ne puisse être gênant pour le client ou ses visiteurs.

La classe WdDebug définit un ensemble de fonctions et de méthodes permettant de personnaliser et d'étendre le système d'erreurs de PHP5. Elle propose :

* Un système non intrusif de journalisation de messages.
* Des fonctions de traitement de la pile d'appel PHP.
* Une gestion personnalisée des erreurs.
* Un système de rapport d'erreur.

Facile à mettre en oeuvre :
<?php

define('WDDEBUG_SILENT', true);
define('WDDEBUG_REPORT_ADDRESS', '[email protected]');

require_once 'wddebug.php';

set_error_handler(array('WdDebug', 'errorHandler');

?>
Elle permettra d'obtenir des messages d'erreurs détaillés :

Code : Tout sélectionner

Error with the following message: Undefined variable: b in G:\Weirdog\www\wd\wdpublisher\packages\user\modules\users\module.php at line 18 Stack trace: #00 — (0): mysql_fetch_object(Resource of type..., User) #01 — G:/Weirdog/www/wd/wdcore/wdsql.php(220): call_user_func_array(mysql_fetch_obje..., Array) #02 — G:/Weirdog/www/wd/wdpublisher/packages/user/modules/users/module.php(109): WdSQL->fetch(Resource of type..., 4, User) #03 — G:/Weirdog/www/wd/wdcore/wddatabasetable.php(300): user_users_WdModule->fetchEntry(Resource of type...) #04 — G:/Weirdog/www/wd/wdpublisher/packages/user/modules/users/module.php(154): WdDatabaseTable->load(1) #05 — G:/Weirdog/www/wd/wdcore/wdcore.php(542): user_users_WdModule->startup() #06 — G:/Weirdog/www/wd/wdcore/wdcore.php(711): WdCore->getModule(user.users) #07 — G:/Weirdog/www/wd/wdpublisher/includes/wdpcore.php(150): WdCore->runModules() #08 — G:/Weirdog/www/wd/wdcore/wdcore.php(654): WdPCore->runModules() #09 — G:/Weirdog/www/wd/wdpublisher/includes/wdpcore.php(107): WdCore->run() #10 — G:/Weirdog/www/wd/wdpublisher/includes/startup.php(13): WdPCore->run() #11 — G:/Weirdog/www/wd/wdpublisher/publisher.php(14): require(G:\Weirdog\www\w...) #12 — /debug.php(3): require_once(G:\Weirdog\www\w...)
Qui pourront atterrir directement dans votre boite mail tout en restant discrets sur votre site.

Je vous laisse découvrir tout ça : Gestion personnalisée des erreurs PHP.
Modifié en dernier par Gofromiel le 11 nov. 2008, 19:26, modifié 2 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

11 nov. 2008, 14:56

Merci :)
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène