| 
<?php
 /*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <[email protected]>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
 
 namespace Symfony\Component\VarDumper;
 
 use Symfony\Component\VarDumper\Cloner\VarCloner;
 use Symfony\Component\VarDumper\Dumper\CliDumper;
 use Symfony\Component\VarDumper\Dumper\HtmlDumper;
 
 // Load the global dump() function
 require_once __DIR__.'/Resources/functions/dump.php';
 
 /**
 * @author Nicolas Grekas <[email protected]>
 */
 class VarDumper
 {
 private static $handler;
 
 public static function dump($var)
 {
 if (null === self::$handler) {
 $cloner = new VarCloner();
 $dumper = 'cli' === PHP_SAPI ? new CliDumper() : new HtmlDumper();
 self::$handler = function ($var) use ($cloner, $dumper) {
 $dumper->dump($cloner->cloneVar($var));
 };
 }
 
 return call_user_func(self::$handler, $var);
 }
 
 public static function setHandler(callable $callable = null)
 {
 $prevHandler = self::$handler;
 self::$handler = $callable;
 
 return $prevHandler;
 }
 }
 
 |