From b137dfb80788af75b665ff3cacdf8515a5427e62 Mon Sep 17 00:00:00 2001 From: Vincent Pietri Date: Sat, 22 Jun 2024 07:48:00 +0200 Subject: [PATCH] Backward compatibility with Magento without VarDumper, thanks to @dudzio12 --- Helper/Data.php | 5 +++++ Plugin/Framework/App/FrontController.php | 10 +++------- view/base/templates/tab/dumper.phtml | 5 +++++ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Helper/Data.php b/Helper/Data.php index ef98860..2beb5a0 100755 --- a/Helper/Data.php +++ b/Helper/Data.php @@ -93,6 +93,11 @@ public function getCacheFrontendPool() public function getQdbConfig($key, $scopeType = ScopeConfigInterface::SCOPE_TYPE_DEFAULT, $scopeCode = null) { + // Backward compatibility + if($key=='handle_vardumper' && !class_exists(\Symfony\Component\VarDumper\VarDumper::class)) { + return false; + } + return $this->getConfig('dev/quickdevbar/'.$key, $scopeType, $scopeCode); } diff --git a/Plugin/Framework/App/FrontController.php b/Plugin/Framework/App/FrontController.php index bfe97f6..9f7441a 100644 --- a/Plugin/Framework/App/FrontController.php +++ b/Plugin/Framework/App/FrontController.php @@ -6,10 +6,6 @@ use ADM\QuickDevBar\Helper\Register; use ADM\QuickDevBar\Service\Dumper; use Magento\Framework\App\RequestInterface; -use Symfony\Component\VarDumper\Dumper\HtmlDumper; -use Symfony\Component\VarDumper\VarDumper; -use Symfony\Component\VarDumper\Cloner\VarCloner; - class FrontController { @@ -63,7 +59,7 @@ public function beforeDispatch(\Magento\Framework\App\FrontControllerInterface $ if($this->request->isAjax() && $enabledHandler<2) { return; } - //$prevHandler = VarDumper::setHandler($this->dumperHandler(...)); + $prevHandler = \Symfony\Component\VarDumper\VarDumper::setHandler($this->dumperHandler(...)); } } @@ -73,8 +69,8 @@ public function beforeDispatch(\Magento\Framework\App\FrontControllerInterface $ */ protected function dumperHandler($var) { - $cloner = new VarCloner(); - $dumper = new HtmlDumper(); + $cloner = new \Symfony\Component\VarDumper\Cloner\VarCloner(); + $dumper = new \Symfony\Component\VarDumper\Dumper\HtmlDumper(); $dumper->setTheme('dark'); $dumpBt = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS)[2]; diff --git a/view/base/templates/tab/dumper.phtml b/view/base/templates/tab/dumper.phtml index 3e0166c..3e69f50 100644 --- a/view/base/templates/tab/dumper.phtml +++ b/view/base/templates/tab/dumper.phtml @@ -1,6 +1,11 @@ +getQdbConfig('handle_vardumper')):?> +

You need to activate admin configuration and having VarDumper Component installed, see github.com/symfony/var-dumper

+ + + getDumps()): ?>