public function __construct($options = [], Application $app = null, RepositoryContract $config = null, Dispatcher $dispatcher = null) { static::$options = $config !== null ? array_merge($options, $config->get('tracy')) : $options; TracyDebugger::$time = array_get($_SERVER, 'REQUEST_TIME_FLOAT', microtime(true)); TracyDebugger::$maxDepth = array_get(static::$options, 'maxDepth'); TracyDebugger::$maxLen = array_get(static::$options, 'maxLen'); TracyDebugger::$showLocation = array_get(static::$options, 'showLocation'); TracyDebugger::$strictMode = array_get(static::$options, 'strictMode'); TracyDebugger::$editor = array_get(static::$options, 'editor'); $bar = TracyDebugger::getBar(); foreach (array_get(static::$options, 'panels') as $key => $enabled) { if ($enabled === true) { $class = '\\' . __NAMESPACE__ . '\\Panels\\' . ucfirst($key) . 'Panel'; if (class_exists($class) === false) { $class = $key; } $this->panels[$key] = new $class($app, static::$options); $bar->addPanel($this->panels[$key], $class); } } if ($dispatcher !== null) { $dispatcher->listen('kernel.handled', function ($request, $response) { return static::appendDebugbar($request, $response); }); } else { TracyDebugger::enable(); } }
/** * Dump rendered Html element or code and intended output generated by tidy and optional also Html element structure * * @param Html|string $htmlElement Html element or string * @param bool $onlyReturn output in string and don't send it to output? * @param int $maxDepth for Debugger::Dump output - to see how is the Html element built * @param bool $includePrettyPrint along javascript code for prettyPrint activation? * @return string Html output */ function dumpHtml($htmlElement, $onlyReturn = false, $maxDepth = 0, $includePrettyPrint = false) { $maxDepthBackup = Debugger::$maxDepth; $maxLenBackup = Debugger::$maxLen; $showLocationBackup = Debugger::$showLocation; Debugger::$maxDepth = $maxDepth; Debugger::$maxLen = 200000; Debugger::$showLocation = false; // convert to string only once - important for Scaffolding Renderer output $renderedElement = (string) $htmlElement; $output = '<div class="rendered-element">' . $renderedElement . '</div>'; $output .= '<pre class="prettyprint linenums pre-scrollable">' . htmlspecialchars(tidyFormatString($renderedElement)) . '</pre>'; if ($includePrettyPrint) { $output .= '<script>prettyPrint();</script>'; } if ($maxDepth > 0 && $htmlElement instanceof \Latte\Runtime\Html) { Debugger::dump($renderedElement); Debugger::dump($htmlElement); } Debugger::$maxDepth = $maxDepthBackup; Debugger::$maxLen = $maxLenBackup; Debugger::$showLocation = $showLocationBackup; if (!$onlyReturn) { echo $output; } return $output; }
/** * initializeTracyDebuger. * * @method initializeTracyDebuger * * @param array $config */ protected function initializeTracyDebuger($config) { Debugger::$editor = Arr::get($config, 'editor', Debugger::$editor); Debugger::$maxDepth = Arr::get($config, 'maxDepth', Debugger::$maxDepth); Debugger::$maxLength = Arr::get($config, 'maxLength', Debugger::$maxLength); Debugger::$scream = Arr::get($config, 'scream', true); Debugger::$showLocation = Arr::get($config, 'showLocation', true); Debugger::$strictMode = Arr::get($config, 'strictMode', true); Debugger::$time = Arr::get($_SERVER, 'REQUEST_TIME_FLOAT', microtime(true)); Debugger::$editorMapping = Arr::get($config, 'editorMapping', []); }
protected function registerDebugger() { $config = $this->app['config']['tracy']; Debugger::$time = array_get($_SERVER, 'REQUEST_TIME_FLOAT', microtime(true)); Debugger::$maxDepth = array_get($config, 'maxDepth'); Debugger::$maxLen = array_get($config, 'maxLen'); Debugger::$showLocation = array_get($config, 'showLocation'); Debugger::$strictMode = array_get($config, 'strictMode'); Debugger::$editor = array_get($config, 'editor'); $bar = Debugger::getBar(); foreach ($config['panels'] as $key => $enabled) { if ($enabled === true or $enabled === '1') { $class = '\\' . __NAMESPACE__ . '\\Panels\\' . ucfirst($key) . 'Panel'; $bar->addPanel(new $class($config, $this->app), $class); } elseif (is_string($enabled) === true) { $class = $enabled; $bar->addPanel(new $class($config, $this->app), $class); } } }
/** * @param Container $app * * @return mixed * * @throws DependencyInstanceNotFound */ public function register(Container $app) { /** @var Application $app */ $config = $this->config; // this service provider will quietly fail if Tracy is not installed. if (class_exists('\\Tracy\\Debugger') and $config->get('logging.tracy.enabled')) { // use the environment to configure the Debugger $env = env('APP_ENV') === 'PRODUCTION' ? Debugger::PRODUCTION : Debugger::DEVELOPMENT; Debugger::$maxDepth = $config->get('logging.tracy.maxDepth', 6); Debugger::enable($env, rtrim($config->get('logging.logPath', LOGS), '/')); Debugger::$showLocation = env('DEBUG') and $config->get('logging.tracy.showLocation', FALSE); Debugger::$strictMode = $config->get('logging.tracy.strictMode', FALSE); Debugger::$showBar = FALSE; # env('DEBUG'); // use the Tracy Debugger for logging. $app['tracy'] = Debugger::getLogger(); $app['nine.logger'] = function ($app) { return $app['tracy']; }; } }
<?php /** * @package Og * @version 0.1.0 * @author Greg Truesdell <*****@*****.**> */ use Og\Forge; use Og\Support\Util; use Tracy\Debugger; use Tracy\FireLogger; Debugger::$maxDepth = 6; Debugger::enable(Debugger::DEVELOPMENT, LOCAL_LOGS); Debugger::$showLocation = TRUE; $logger = Debugger::getLogger(); Forge::getInstance()->instance(['logger', FireLogger::class], $logger); /** * @param bool $raw * * @return string */ function elapsed_time_since_request($raw = FALSE) { return !$raw ? sprintf("%8.1f ms", (microtime(TRUE) - $_SERVER['REQUEST_TIME_FLOAT']) * 1000) : (microtime(TRUE) - $_SERVER['REQUEST_TIME_FLOAT']) * 1000; } /** * @param $index * * @return string */ function location_from_backtrace($index = 2)
<?php require __DIR__ . '/../vendor/autoload.php'; use Tracy\Debugger; Tester\Environment::setup(); date_default_timezone_set('Europe/Prague'); header("Content-Type: text/html; charset=UTF-8"); header("Content-Type: text/html; charset=UTF-8"); if (php_sapi_name() != 'cgi-fcgi') { Debugger::enable(); Debugger::$strictMode = true; Debugger::$showLocation = true; }