Débugger son code PHP avec Drupal

A moins d'utiliser un débuggeur PHP, une bonne partie du débuggage d'un site en PHP - et donc d'un site Drupal - consiste à afficher le contenu de certaines variables grâce aux instructions print ou echo.

Avec Drupal, nous pouvons nous faciliter la tâche grâce à une petite fonction de debug bien pratique :
<?php
function debug_print($var) {
drupal_set_message('

'. print_r($var, TRUE) .'

');
}
?>

Si vous avez créé un module, vous pouvez copier/coller cette fonction dans le code de votre module, ou sinon, dans le fichier template.php de votre thème, elle sera ensuite accessible partout.

Cette fonction permet :

  • d'afficher le contenu d'une variable sous forme lisible (print_r),
  • tout en préservant la mise en forme (espaces, retours à la ligne...) de cet affichage (<pre>),
  • et en présentant le tout dans une boîte de dialogue affichée en haut de page (drupal_set_message).

Cette fonction est plus élégante car elle garantit l'affichage de la variable toujours en haut de page, à un endroit qui n'explosera votre code HTML.

De plus, les messages affichés avec drupal_set_message() sont stockés dans une variable de session jusqu'à ce qu'il soit affichés. Ainsi, si votre script plante, vous verrez quand même le ou les messages passés à drupal_set_message() lors de sa prochaine exécution.

Syndiquer le contenu