1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
<?php
/* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * 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 <p@tchwork.com> */ class VarDumper { private static $handler;
public static function dump($var) { if (null === self::$handler) { $cloner = new VarCloner(); $dumper = \in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) ? 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; } }
|