La révolution du debug avec FirePHP

La révolution du debug avec FirePHP

sommaire :

  1. FirePHP qu'est ce que c'est ?
  2. Utilisation de firePhp
 

Il y a autant de technique de développement que de façon de debugger. Les normes de développement et consensus permettent au développeur de produire du code propre. Mais pour ce qui est du débug, chaque développeur débug comme il le sent (les affichages bruts à l’écran, la création de fichier de log, ou l’envoi des données par mail).En plus de mettre de l’ordre dans le debug, le plugin Firephp permet aussi de faire des deboggages plus optimisés.

FirePHP qu’est ce que c’est ?

Tout d’abord FirePHP est un plugin firefox, qui s’attache à celui de firebug.
Les données de debug sont représentées de cette façon :
firephp

C’est à l’aide d’une classe php, que l’on va définir les données de debug à afficher.
Et c’est cette classe php, qui envoie ces données au format JSON.
Pour finir le plugin s’occupe d’afficher les données.

Passons maintenant à la pratique :) .

Installation

Si vous ne l’avez pas fait , il faut installer firebug,une fois ceci fait, vous pouvez installer le plugin firephp.

Maintenant nous allons récupérer la dernière version de la librairie .

Nous allons voir si firePHP fonctionne :

require_once './FirePHPCore/FirePHP.class.php';
$oFirebug = FirePHP::getInstance(true);
$oFirebug->fb('FirePhp fonctionne !');

Voilà ce que cela doit donner :

firephp

Si vous ne voyez rien, c’est que vous avez oublié d’activer la surveillance réseau de votre firebug:

firebug surveillance réseau

Utilisation de firePhp

Avant toute chose, il faut bien avoir en tête que ces données sont visibles par tous les visiteurs qui possèdent firePHP. Il est préférable d’afficher les données dans un environnement de développement ou de test.

Normalement avec l’exemple de fonctionnement vous avez déjà du tout comprendre :)

$oFirebug = FirePHP::getInstance(true);
c’est notre objet firebug.
$f->fb(‘FirePhp fonctionne !’);
pour afficher un message.

Grouper les variables de debug

Vous pouvez regroupez vos variables de debug avec Firephp. Cela peut être utile si vos tests se font sur plusieurs fonctions.

$oFirebug->group('Fonction animal');
$oFirebug->log('Chien');
$oFirebug->log('Chat');
$oFirebug->log('Poisson');
$oFirebug->groupEnd();

$oFirebug->group('Fonction ville');
$oFirebug->log('Lens');
$oFirebug->log('Rennes');
$oFirebug->log('Caen');
$oFirebug->groupEnd();

Voilà ce que ça donne :

firephp

Définir des niveaux d’erreurs

Tout comme l’objet error_reporting de php, avec firePHP on peux définir un niveau d’erreur.

méthode info : ressemble au notice
méthode warn : ressemble au warning
méthode error : ressemble au fatal error

$oFirebug->log('Plain Message');     // or FB::
$oFirebug->info('Info Message');     // or FB::
$oFirebug->warn('Warn Message');     // or FB::
$oFirebug->error('Error Message');   // or FB::

Firebug va donc afficher :

firephp

Afficher les tableaux

C’est avec la méthode table() que l’on va pouvoir afficher les tableaux avec FirePHP

Voici un exemple de code :

$aTable   = array();
$aTable[] = array('Col 1 Heading','Col 2 Heading');
$aTable[] = array('Row 1 Col 1','Row 1 Col 2');
$aTable[] = array('Row 2 Col 1','Row 2 Col 2');
$aTable[] = array('Row 3 Col 1','Row 3 Col 2');

$oFirebug->table('Table Label', $aTable)

Cela donne :

firephp

Laissez des traces avec trace()

Affiche un bascktrace de la ligne ou est tapée la méthode trace().

Voici un exemple d’utilisation:

mess($oFirebug);
function mess($oFirebug)
{
 $oFirebug->trace('Trace Label');
}

Firephp va afficher :

firephp

Attraper les erreurs avec firePhp

On peut aussi gérer l’affichage des erreurs par firePhp

$oFirebug->registerErrorHandler();
$oFirebug->registerExceptionHandler();

try {
  throw new Exception('Test erreur');
} catch(Exception $e) {
  $oFirebug->error($e);
}

Et voila notre belle erreur :)

firephp

On a fait le tour de firePhp, vous pouvez maintenant debugger en toute transparence.

Note de l'article




1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, moyenne: 4,67 max : 5)
Loading ... Loading ...

Donner votre avis :