Accueil > Programmation > PHP > CodeIgniter > Intégrer FirePHP à codeIgniter
Intégrer FirePHP à codeIgniter
mardi 14 juin 2011, par
Mise en place
De quoi avons nous besoin ?
- d’un projet sous codeIgniter
- de firefox
- du plugin firebug
- du plugin firephp
- et de la librairie php qui va avec (FirePHPCore)
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.