annotate vendor/symfony/var-dumper/VarDumper.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 /*
Chris@0 4 * This file is part of the Symfony package.
Chris@0 5 *
Chris@0 6 * (c) Fabien Potencier <fabien@symfony.com>
Chris@0 7 *
Chris@0 8 * For the full copyright and license information, please view the LICENSE
Chris@0 9 * file that was distributed with this source code.
Chris@0 10 */
Chris@0 11
Chris@0 12 namespace Symfony\Component\VarDumper;
Chris@0 13
Chris@0 14 use Symfony\Component\VarDumper\Cloner\VarCloner;
Chris@0 15 use Symfony\Component\VarDumper\Dumper\CliDumper;
Chris@0 16 use Symfony\Component\VarDumper\Dumper\HtmlDumper;
Chris@0 17
Chris@0 18 // Load the global dump() function
Chris@0 19 require_once __DIR__.'/Resources/functions/dump.php';
Chris@0 20
Chris@0 21 /**
Chris@0 22 * @author Nicolas Grekas <p@tchwork.com>
Chris@0 23 */
Chris@0 24 class VarDumper
Chris@0 25 {
Chris@0 26 private static $handler;
Chris@0 27
Chris@0 28 public static function dump($var)
Chris@0 29 {
Chris@0 30 if (null === self::$handler) {
Chris@0 31 $cloner = new VarCloner();
Chris@17 32 $dumper = \in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) ? new CliDumper() : new HtmlDumper();
Chris@0 33 self::$handler = function ($var) use ($cloner, $dumper) {
Chris@0 34 $dumper->dump($cloner->cloneVar($var));
Chris@0 35 };
Chris@0 36 }
Chris@0 37
Chris@17 38 return \call_user_func(self::$handler, $var);
Chris@0 39 }
Chris@0 40
Chris@0 41 public static function setHandler(callable $callable = null)
Chris@0 42 {
Chris@0 43 $prevHandler = self::$handler;
Chris@0 44 self::$handler = $callable;
Chris@0 45
Chris@0 46 return $prevHandler;
Chris@0 47 }
Chris@0 48 }