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

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. :

Leave a Reply

Your email address will not be published. Required fields are marked *