Lors de la phase de développement d’une webapp développée en PHP, il est important d’avoir des outils appropriés pour effectuer un débogage efficace.
Dans l’article qui suit je vous propose d’intégrer Firephp au Framework Code Igniter
Prérequis
- Navigateur web :
- Le navigateur Firefox
- L’indispensable extension Firebug
- Developer Companion : une extension qui permet d’intégrer Firephp à la console Firebug
- Framework : un projet sous Code Igniter
- Librairies : la librairie Firephp 1.0
Installation
Il faut décompresser la librairie Firephp et déplacer le dossier /lib/FirePHPCore dans le dossier /applications/libraries de votre projet Code Igniter.
Créer un fichier firephp.php à la racine du dossier /applications/libraries avec le contenu suivant :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /* * To change this template, choose Tools | Templates * and open the template in the editor. */ // Include FirePHPCore librarie include ('FirePHPCore/FirePHP.class.php'); class CI_Firephp extends FirePHP { function __construct() { // Disable Firephp if environment != development if(ENVIRONMENT != 'development'){ $this->setEnabled(FALSE); } } } /* End of file firephp.php */ /* Location: ./libraries/config.php */
Dans le fichier précédent nous activons le debug uniquement dans l’environnement de développement en effet utiliser Firephp en production peut entraîner la révélation d’informations sensibles.
Utilisation de la librairie FirePHP
Affichage des messages
// Priority Logging Messages $this->ci_firephp->log('Plain Message'); // or FB:: $this->ci_firephp->info('Info Message'); // or FB:: $this->ci_firephp->warn('Warn Message'); // or FB:: $this->ci_firephp->error('Error Message'); // or FB:: $this->ci_firephp->log('Message', 'Label Optionnel');
Affichage d’un tableau
// log an Array $this->ci_firephp->log($_SERVER,'$_SERVER');
Conclusion
Voila vous disposez maintenant d’un outil qui vous permet de debugger votre code PHP sans insérer des codes directement dans les pages. Adieu var_dump et autres print_r dans votre code.
Pour aller plus loin sur les différentes possibilités de FirePHP n’hésitez pas à consulter les sites suivants, vous y trouverez des informations concernant notamment l’utilisation des fonctions Trace, Table, etc. :