You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.1 KiB
43 lines
1.1 KiB
<?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)); |
|
} |
|
}
|
|
|