44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			44 lines
		
	
	
		
			1.1 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\Dumper; | ||
|  | 
 | ||
|  | use Symfony\Component\VarDumper\Cloner\Data; | ||
|  | use Symfony\Component\VarDumper\Dumper\ContextProvider\ContextProviderInterface; | ||
|  | 
 | ||
|  | /** | ||
|  |  * @author Kévin Thérage <therage.kevin@gmail.com> | ||
|  |  */ | ||
|  | class ContextualizedDumper implements DataDumperInterface | ||
|  | { | ||
|  |     private $wrappedDumper; | ||
|  |     private $contextProviders; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @param ContextProviderInterface[] $contextProviders | ||
|  |      */ | ||
|  |     public function __construct(DataDumperInterface $wrappedDumper, array $contextProviders) | ||
|  |     { | ||
|  |         $this->wrappedDumper = $wrappedDumper; | ||
|  |         $this->contextProviders = $contextProviders; | ||
|  |     } | ||
|  | 
 | ||
|  |     public function dump(Data $data) | ||
|  |     { | ||
|  |         $context = []; | ||
|  |         foreach ($this->contextProviders as $contextProvider) { | ||
|  |             $context[\get_class($contextProvider)] = $contextProvider->getContext(); | ||
|  |         } | ||
|  | 
 | ||
|  |         $this->wrappedDumper->dump($data->withContext($context)); | ||
|  |     } | ||
|  | } |