Erreurs PHP pour les enfants cool
whoops est un framework de gestion d'erreurs pour PHP. Prêt à l'emploi, il fournit une jolie interface d'erreur qui vous aide à déboguer vos projets Web, mais au fond, il s'agit d'un système de gestion des erreurs empilé simple mais puissant.
Si vous utilisez Laravel 4, Laravel 5.5+ ou Mezzio, vous disposez déjà de Whoops. Il existe également des instructions fournies par la communauté sur la façon d'intégrer Whoops dans Silex 1, Silex 2, Phalcon, Laravel 3, Laravel 5, CakePHP 3, CakePHP 4, Zend 2, Zend 3, Yii 1, FuelPHP, Slim, Pimple, Laminas, ou tout framework consommant des middlewares StackPHP ou des middlewares PSR-7.
Si vous n'utilisez aucun de ces frameworks, voici un moyen très simple de l'installer :
Utilisez Composer pour installer Whoops dans votre projet :
composer require filp/whoops
Enregistrez le joli gestionnaire dans votre code :
$ whoops = new Whoops Run ;
$ whoops -> pushHandler ( new Whoops Handler PrettyPageHandler );
$ whoops -> register ();
Pour plus d'options, jetez un œil aux fichiers d'exemple dans examples/
pour avoir une idée de la façon dont les choses fonctionnent. Jetez également un œil à la documentation de l'API et à la liste des gestionnaires disponibles ci-dessous.
Vous souhaiterez peut-être également remplacer certains appels système effectués par Whoops. Pour ce faire, étendez WhoopsUtilSystemFacade
, remplacez les fonctions souhaitées et transmettez-les comme argument au constructeur Run
.
Vous pouvez également récupérer le HTML généré pour le traiter vous-même :
$ whoops = new Whoops Run ;
$ whoops -> allowQuit ( false );
$ whoops -> writeToOutput ( false );
$ whoops -> pushHandler ( new Whoops Handler PrettyPageHandler );
$ html = $ whoops -> handleException ( $ e );
whoops est actuellement livré avec les gestionnaires intégrés suivants, disponibles dans l'espace de noms WhoopsHandler
:
PrettyPageHandler
- Affiche une jolie page d'erreur lorsque quelque chose tourne malPlainTextHandler
- Génère un message en texte brut à utiliser dans les applications CLICallbackHandler
- Encapsule une fermeture ou un autre appelable en tant que gestionnaire. Vous n'avez pas besoin d'utiliser ce gestionnaire explicitement, whoops encapsulera automatiquement toute fermeture ou appel que vous transmettez à WhoopsRun::pushHandler
JsonResponseHandler
- Capture les exceptions et renvoie des informations les concernant sous forme de chaîne JSON. Peut être utilisé, par exemple, pour jouer gentiment avec les requêtes AJAX.XmlResponseHandler
- Capture les exceptions et renvoie des informations les concernant sous forme de chaîne XML. Peut être utilisé, par exemple, pour jouer gentiment avec les requêtes AJAX.Vous pouvez également utiliser des gestionnaires enfichables, tels que le gestionnaire SOAP.
Cette bibliothèque a été principalement développée par Filipe Dobreira et est actuellement maintenue par Denis Sokolov. De nombreux correctifs et améliorations impressionnants ont également été envoyés par divers contributeurs. Un merci spécial à Graham Campbell et Markus Staab pour leur participation continue.