Lorsque l'on travaille avec Prado, var_dump[1] est très souvent indispensable quand on veut bien comprendre ou nous sommes à un moment donné ou ce que nous renvois un callback dans $sender ou $param par exemple...

Le problème, c'est que si la variable testée avec var_dump contient un lien vers l'application ou la page, et bien la quantité à affichée avec var_dump devient très très importante, et en conséquence la mémoire vive utilisée de votre PC peut grimper en flèche et votre navigateur peut tout simplement planter, et du coup vous n'avez même pas les infos que vous cherchez...

La solution sous Prado se nomme TVarDumper[2] !

C'est une classe qui a une seule méthode statique du nom de dump et qui retourne le contenu d'une variable dans un string. À la différence de var_dumper le résultat n'est donc pas directement envoyé à la sortie mais retourné comme résultat. Petit (GROS) plus, on peut définir la profondeur récursive de la recherche (fixée à 10 par défaut) ce qui vous évitera les boucles infinies et adieux les problèmes de mémoire et plantages de Firefox ;-)

L'utilisation est très simple.

Il faut commencer par déclarer dans application.xml que vous souhaitez utiliser TVarDumper :

  <paths>
    [...]
    <using namespace="System.Util.TVarDumper" />
  </paths>

Puis vous ajoutez la ligne suivante partout où vous en avez besoin :

<?php
  #[...]
 
  echo TVarDumper::dump( $mavariable );
 
  #[...]
?>

C'est pas plus compliqué que ça, pour ajuster la profondeur ajoutez un paramètre de type integer après votre variable.

<?php
  #[...]
 
  echo TVarDumper::dump( $mavariable, 3 );
 
  #[...]
?>

Voilà c'est tout, je voulais vous en faire part car je l'utilise souvent et j'ai l'impression qu'il n'est pas très connu... dans le quickstart et le wiki il est passé sous silence, et sur le forum seulement quelques billets le nomment dans leurs sources et encore moins dans leurs commentaires.

Maintenant vous ne pourrez plus vous en passer, faites-en bon usage !!! ;)

Notes

[1] Page officielle du manuel de var_dump : http://fr2.php.net/manual/fr/function.var-dump.php

[2] Page du manuel de l'API de Prado pour TVarDumper : http://www.pradosoft.com/docs/manual/System.Util/TVarDumper.html