addCollector(new TimeDataCollector()); $requestCollector = new RequestDataCollector(); $requestCollector->useHtmlVarDumper(); $debugbar->addCollector($requestCollector); $debugbar->addCollector(EventCollector::getInstance()); $debugbar->addCollector(CacheCollector::getInstance()); $configCollector = new ConfigCollector(); $configCollector->useHtmlVarDumper(); $configCollector->setData(array_filter(Config::all(), static function ($key) { return $key !== 'mysql' && $key !== 'email' && $key !== 'authme'; }, ARRAY_FILTER_USE_KEY)); $debugbar->addCollector($configCollector); $pdoCollector = new PDOCollector(DB::getInstance()->getPDO()); $pdoCollector->setRenderSqlWithParams(true, "'"); $debugbar->addCollector($pdoCollector); $debugbar->addCollector(new PhpInfoCollector()); $debugbar->addCollector(new MemoryCollector()); $this->_debugBar = $debugbar; } public function addCollector(DataCollector $collector): void { $this->_debugBar->addCollector($collector); } public function addSmartyCollector(Smarty $smarty): void { $smartyCollector = new SmartyCollector($smarty); if ($this->getDebugBar()->hasCollector($smartyCollector->getName())) { return; } $smartyCollector->useHtmlVarDumper(); $this->addCollector($smartyCollector); } public function addTwigCollector(Environment $twig, Profile $profile): void { $twig->addExtension(new ProfilerExtension($profile)); $collector = new NamespacedTwigProfileCollector($profile); if ($this->getDebugBar()->hasCollector($collector->getName())) { return; } $this->addCollector($collector); } public function getDebugBar(): ?DebugBar { return $this->_debugBar; } }