login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Snippets > debug dump functie

debug dump functie

Auteur: Richard - 25 juni 2006 - 14:48 - Gekeurd door: Thomas - Hits: 3028 - Aantal punten: (0 stemmen)



Je plaatst deze code ergens in de code, en je kunt voortaan dump() aanroepen (met willekeurig aantal parameters), en deze worden dan netjes weergeven.

note: ik heb de basis uit Zend Framework gebruikt, maar compleet aangepast.

update: ik heb nu alle grote functionaliteit in de replace_nl functie gedaan, die is dus ook wel flink groter...

update 2: domme fout, dump functie controleerde per ongeluk of er wel een argument was, en returnde. dit is opgelost;-)

Code:
  1. <?php
  2. /**
  3.  * Vervang bepaalde dingen in aangegeven variabele
  4.  *
  5.  * @param mixed $a
  6.  * @return mixed
  7.  */
  8. function replace_nl ($a)
  9. {
  10. static $replace = array ("\r" => '\r', "\n" => '\n');
  11.  
  12. // check eerst op een array voor mapping
  13. return (is_array ($a)
  14. // als het een array is mappen we recursief deze functie erover
  15. ? array_map ('replace_nl', $a)
  16. // anders als het een object is ...
  17. : (is_object ($a)
  18. // doen we hetzelfde, maar casten we eerst naar array, en
  19. // uiteindelijk weer naar object
  20. ? (object) array_map ('replace_nl', (array) $object)
  21. // anders als het een string is ...
  22. : (is_string ($a)
  23. // doen we htmlspecialchars ...
  24. // over een replace ...
  25. // van de keys van $replace
  26. array_keys ($replace),
  27. // naar de waardes van $replace
  28. array_values ($replace),
  29. // op het argument
  30. $a
  31. )
  32. )
  33. // als het iets anders is, gewoon returnen
  34. : $a
  35. )
  36. )
  37. );
  38. }
  39.  
  40. /**
  41.  * Netjes een variabele dumpen
  42.  *
  43.  * @return void
  44.  * @uses replace_nl
  45.  */
  46. function dump ()
  47. {
  48. // als er geen argumenten zijn vooral niks doen...
  49. if (!func_num_args ())
  50. {
  51. return;
  52. }
  53.  
  54. // start output buffering
  55.  
  56. // loop door alle gegeven argumenten (variabel)
  57. foreach (func_get_args () as $data)
  58. {
  59. // voeren we simpel de functie eroverheen
  60. $data = replace_nl ($data);
  61. // dump de variabele
  62. var_dump ($data);
  63. }
  64.  
  65. // eventjes nette output produceren met <pre> en </pre>,
  66. // html weggewerkt, en de output iets verbeterd.
  67. echo '<pre>' . preg_replace ('~]=>\s+~', '] => ', ob_get_clean ()) . '</pre>';
  68.  
  69. // returnen
  70. return;
  71. }
  72. ?>
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (21)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.028s