3 namespace Drupal\devel\Plugin\Devel\Dumper;
5 use Drupal\devel\DevelDumperBase;
6 use Symfony\Component\VarDumper\Cloner\VarCloner;
7 use Symfony\Component\VarDumper\Dumper\CliDumper;
8 use Symfony\Component\VarDumper\Dumper\HtmlDumper;
11 * Provides a Symfony VarDumper dumper plugin.
15 * label = @Translation("Symfony var-dumper"),
16 * description = @Translation("Wrapper for <a href='https://github.com/symfony/var-dumper'>Symfony var-dumper</a> debugging tool."),
20 class VarDumper extends DevelDumperBase {
25 public function export($input, $name = NULL) {
26 $cloner = new VarCloner();
27 $dumper = 'cli' === PHP_SAPI ? new CliDumper() : new HtmlDumper();
29 $output = fopen('php://memory', 'r+b');
30 $dumper->dump($cloner->cloneVar($input), $output);
31 $output = stream_get_contents($output, -1, 0);
34 $output = $name . ' => ' . $output;
37 return $this->setSafeMarkup($output);
43 public static function checkRequirements() {
44 return class_exists('Symfony\Component\VarDumper\Cloner\VarCloner', TRUE);