Le blog du pangolin

Accueil > Programmation > PHP > CodeIgniter > Intégrer FirePHP à codeIgniter

Intégrer FirePHP à codeIgniter

mardi 14 juin 2011, par Super Pangolin

Mise en place

De quoi avons nous besoin ?

Si ce n’est déjà fait, installez firefox et les deux plugins.
Décompressez le firePHPCore et copiez le contenu du répertoire firephpcore dans le répertoire application/libraries de CI.
Dans le dossier libraries de votre application, créez un fichier firephp.php avec le contenu suivant :

<?php
include('FirePHPCore/FirePHP.class.php');

Et c’est tout !!

Utilisation

Dans vos contrôleurs, vous n’avez plus qu’à insérer la ligne suivante pour que la librairie soit fonctionnelle :

$this->load->library("FirePHP");

Petit exemple :

$this->firephp->fb("Coucou de la part de firePHP");

va afficher un petit message dans la console firebug.

Avec FirePHP, fini les var_dump : maintenant, vos amis sont Log, Info, Warn, Error.
Deux exemples avec un tableau et un objet :

       $monTableau = array("aa", "bb", "cc" => "dd", "ee" => array("ff", "gg"));
       $this->firephp->warn($monTableau);

       $monObjet = new stdClass();
       $monObjet->aa = "bb";
       $monObjet->zz = 123;
       $monObjet->ee = array("1", "2", "toto");
       $monObjet->rr = new stdClass();
       $monObjet->rr->uu = 1;
       $monObjet->rr->vv = 2;
       $this->firephp->info($monObjet);

Résultat dans la console :

Le survol de la ligne et le clic permettent d’afficher le message complet :

Recommandation

Le débogage ne doit être actif QUE DURANT LA PHASE DE DÉVELOPPEMENT !!! En production, tous les messages doivent être désactivés.
Heureusement, pour ça, une seule ligne de code suffit :

$this->firephp->setEnabled(false);

On peut tout simplement modifier notre librairie firephp :

<?php
include('FirePHPCore/FirePHP.class.php');

class CI_FirePHP extends FirePHP {
   function __construct() {
       if (ENVIRONMENT != 'development') {
           $this->setEnabled(FALSE);
       }
   }
}

L’appel au débogueur se fait maintenant par

               $this->load->library('CI_firephp');
               $this->ci_firephp->log('Mon message');

Auto-complétion dans netbeans

Comme vu dans l’article sur l’intégration de codeIgniter dans netbeans, il suffit de rajouter la ligne

* @property CI_FirePHP $ci_firephp

dans les métadonnées de la classe CI_Controller.

C’est tout pour aujourd’hui !! Bon débogage à tous.

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.