The most useful function you will ever use in the Zend

Zend_Debug::dump() is a really handy part of the framework that simply dumps the contents of whatever you give it to print_r and wraps it in <pre></pre>.

I got tired of typing it out every time, so I added the following shorthand functions to my bootstrap file. (The only acceptable use of a function in a bootstrap, in my mind.)

  1.  
  2. require_once("Zend/Debug.php"); // next time we’re going to talk about __autoload()
  3.  
  4. /**
  5. * dd is a shorthand function for "dump and die". It takes whatever you give it and
  6. * spits it to d(), then dies.  Useful for debugging.
  7. */
  8.  
  9. function dd($val){
  10. d($val);
  11. die();
  12. }
  13.  
  14. /**
  15. * This is so I don’t have to keep typing Zend_Debug::dump($whatever);
  16. */
  17. function d($val){
  18. Zend_Debug::dump($val);
  19. }

2 Responses to “The most useful function you will ever use in the Zend Framework”

  1. On October 13th, 2007 at 4:42 pm Matt Gardner said:

    Nice man. I’ve taken this a little further by allowing a ‘developer’ flag to ensure any calls that make it to production are at least hidden. Next level would be to post a warning instead so any that remain will be logged.

    if ($config->developer == true){
    $front->throwExceptions(true);
    function d($val) { Zend_Debug::dump($val); }
    function dd($val){ d($val); die(); }
    } else {
    function d($val) { return; }
    function dd($val){ return; }
    }

    Thanks, Matt


  2. On January 3rd, 2008 at 12:06 pm Jeremy Kendall said:

    Nice. I must type Zend_Debug… at least 10 times a day. This is one of those things that you see and think, “Why didn’t I think of that?”

    I make heavy use of the $label param myself, so I modded the functions to include both $label and $echo params, ie:

    d($val, $label=”", $echo=true);

    Works like a charm.


Leave a Reply

Note: If you've never commented on Jaybill.com before, your comment will not be visible immediately. Someone will need to approve it first. After we approve one of your comments (which means we think you're not a robot) all future comments will show up immediately. Please do not post your comment twice.