55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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();
 | |
| 
 | |
|             if (isset($_SERVER['VAR_DUMPER_FORMAT'])) {
 | |
|                 $dumper = 'html' === $_SERVER['VAR_DUMPER_FORMAT'] ? new HtmlDumper() : new CliDumper();
 | |
|             } else {
 | |
|                 $dumper = \in_array(\PHP_SAPI, array('cli', 'phpdbg')) ? 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;
 | |
|     }
 | |
| }
 | 
