Un article de Craig Davis qui vient d'être publié sur le site Zend propose une utilisation (amha) judicieuse de Javascript afin de faciliter le debogage de scripts PHP. Craig Davis part d'un constat simple : une grande majorité des développeurs utilisent echo(), print() ou encore print_r() pour analyser le contenu d'une variable, d'un tableau, etc. lors des phases de mise au point d'un script. Cependant, les sorties obtenues viennent souvent casser quelque peu la mise en page général. Il propose donc une solution consistant à les regrouper et les rediriger vers une petite fenêtre secondaire que ne viendra pas poluer le reste.

Afin de mettre en place cette petite console de debogage, Craig Davis propose d'utiliser le Javascript et en particulier window.open. Cette solution est simple mais (amha) efficace.

A noter que Craig Davis utilise le support Output Control de PHP, en particulier afin de capturer la sortie d'un print_r(). Or, nous avons vu dans un truc et astuce publié il y a quelques jours, qu'il était possible de rediriger ce flux de sortie dans une variable en utilisant 'true' comme second argument (nécessite PHP 4.3.0 ou supérieur).

Zend: JavaScript Powered PHP Debugging
PHPIndex: Placer le résultat de print_r() dans une variable
PEAR::Var_Dump