Débugger vos applications Codeigniter à l’aide de firephp

Sparks est un système de management de paquets pour Codeigniter, il permet d’installer des librairies dans vos applications de manière instantanée.

L’avantage de ce type de système est que les librairies sont mutualisés et constamment mise à jour par la communauté des développeurs.

Console

Cette librairie permet d’implémenter la classe firephp et permet d’afficher des variables dans la console firebug (il faut au préalable installer firebug et firephp).

Dans un premier temps il faut installer sparks : http://getsparks.org/install

Ensuite il faut lancer la ligne de commande suivante dans votre projet :

php tools\spark install -v0.7.0 console

Ensuite dans votre code PHP


// chargement de la librairie console

$this->load->spark('console/[version]');

// affichage d'une variable ($type, $message, $write_to_file)

$this->console->log('ce message est affiché dans la console', 'error', FALSE);

// vous pouvez également utiliser l'alias de cette fonction

console_log('ce message est affiché dans la console', 'error', FALSE);

Vous pouvez afficher proprement vos variables dans la console sans utiliser les fonctions PHP print_r() ou var_dump()

Liens utiles

Cet article est une mise à jour de l’article que j’avais écrit il y a quelques mois concernant l’utilisation de firephp pour Codeigniter.

Intégration de Firephp dans CodeIgniter

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