Dans d’autres langages comme ActionScript ou Java, les debuggers sont très utilisés car les affichages successif (echo, var_dump, die, …) pour tracer les valeurs des variables ne peuvent pas forcément être mis en place aussi facilement qu’en PHP.
L’avantage d’un tel outil est aussi de pouvoir avoir un aperçu des objets actuellement actifs en mémoire ou des valeurs de chaque variable à un instant donné dans l’application. Pour ma part, l’utilisation d’un debugger est en train de devenir une obligation pour garantir une bonne qualité de code et pour régler les problèmes rapidement et surement.
L’apprentissage et l’utilisation d’autres langages comme ActionScript démontre aussi l’intérêt d’utiliser les points d’arrêts pour analyser le fonctionnement.
Après plusieurs recherches sur le web et la lecture de retours d’expériences j’ai trouvé, installé et testé Xdebug. Ce debugger PHP gratuit et facile de mise en oeuvre s’interface directement avec Netbeans (mon IDE PHP favori sur Mac…).
Cet outil peut s’installer de différentes façons (vous trouverez la liste ici), la plus simple étant à travers un paquet PECL/PEAR:
pecl install xdebug pear install xdebug
Il suffit ensuite de modifier le fichier php.ini utilisé sur le système en rajoutant les lignes suivantes:
[xdebug] zend_extension=[CHEMIN ABSOLU VERS LE FICHIER xdebug.so] xdebug.file_link_format="txmt://open?url=file://%f&line=%1" xdebug.remote_enable = on xdebug.remote_handler=dbgp xdebug.remote_host=localhost xdebug.rmote_port=9000 xdebug.remote_autostart = 1
Pour que les modifications soient prises en compte au niveau du serveur Apache, il faut redémarrer le serveur web. Démarrer ensuite Netbeans, vous pouvez directement rajouter des points d’arrêts dans vos scripts et analyser le comportement de votre code en lançant le mode d’exécution debug.
