From 952354ae61a751ee04d6621b12b5fc3980c47f44 Mon Sep 17 00:00:00 2001 From: Jonas De Taeye Date: Thu, 7 Apr 2016 03:44:52 +0200 Subject: [PATCH] Make dependency on VarDumper optional --- src/Whoops/Handler/PrettyPageHandler.php | 28 +++++++++++++----------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/Whoops/Handler/PrettyPageHandler.php b/src/Whoops/Handler/PrettyPageHandler.php index b2df5c1..d8b8b57 100644 --- a/src/Whoops/Handler/PrettyPageHandler.php +++ b/src/Whoops/Handler/PrettyPageHandler.php @@ -119,22 +119,24 @@ class PrettyPageHandler extends Handler // @todo: Make this more dynamic $helper = new TemplateHelper(); - $cloner = new VarCloner(); - // Only dump object internals if a custom caster exists. - $cloner->addCasters(['*' => function ($obj, $a, $stub, $isNested, $filter = 0) { - $class = $stub->class; - $classes = [$class => $class] + class_parents($class) + class_implements($class); + if (class_exists('Symfony\Component\VarDumper\Cloner\VarCloner')) { + $cloner = new VarCloner(); + // Only dump object internals if a custom caster exists. + $cloner->addCasters(['*' => function ($obj, $a, $stub, $isNested, $filter = 0) { + $class = $stub->class; + $classes = [$class => $class] + class_parents($class) + class_implements($class); - foreach ($classes as $class) { - if (isset(AbstractCloner::$defaultCasters[$class])) { - return $a; + foreach ($classes as $class) { + if (isset(AbstractCloner::$defaultCasters[$class])) { + return $a; + } } - } - // Remove all internals - return []; - }]); - $helper->setCloner($cloner); + // Remove all internals + return []; + }]); + $helper->setCloner($cloner); + } $templateFile = $this->getResource("views/layout.html.php"); $cssFile = $this->getResource("css/whoops.base.css");