Mercurial > hg > isophonics-drupal-site
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 } |