Repository files navigation

dot-debugbar

Dotkernel's debug bar component

dot-debugbar is a wrapper on top of maximebf/php-debugbar

Documentation

Documentation is available at: https://docs.dotkernel.org/dot-debugbar/.

Badges

OSS LifecyclePHP from Packagist (specify version)

GitHub issuesGitHub forksGitHub starsGitHub license

Build Staticcodecovdocs-buildPHPStan

Install

Install dot-debugbar in your application by running the following command:

composer require dotkernel/dot-debugbar

Setup

Once installed, the following components need to be registered by adding:

$app->pipe(\Dot\DebugBar\Middleware\DebugBarMiddleware::class);

to config/pipeline.php (preferably after ServerUrlMiddleware::class)

\Dot\DebugBar\ConfigProvider::class

to config/config.php (preferably at the beginning of the section where the Dotkernel packages are loaded)

\Dot\DebugBar\Extension\DebugBarExtension::class

to config/autoload/templates.global.php (inside the array founder under the key twig => extensions)

Locate the library's assets directory, called assets and copy its contents to your application under public/debugbar directory.

Locate the library's config file config/debugbar.local.php and clone it inside your application as:

  • config/autoload/debugbar.local.php.dist
  • config/autoload/debugbar.local.php

By default, dot-debugbar is enabled only on the local environment, by whitelisting your local IP address in the config file, inside the array located under the ipv4Whitelist key. If you need to enable it on other environments as well, just whitelist your public IPV4 address. It can also be enabled globally, by whitelisting the string *. Finally, if you want to keep the whitelists but disable dot-debugbar, you can set enabled to false.

Inside the config file, you will find additional configurations under the javascript_renderer key. For more configuration values, follow the link in the related comment block.

At this step, dot-debugbar is not displayed yet. In order to display it, you need to call the following Twig functions from your base layout:

{{ debugBarCss()|raw }}

(needs to be placed in the head section of the layout, where the CSS files are included)

{{ debugBarJs()|raw }}

(needs to be placed in the footer of the layout, where the JS files are included)

If you plan to enable dot-debugbar on production, make sure you clear the relevant cache items by deleting:

  • the config cache file: data/cache/config-cache.php
  • Twig cache directory: data/cache/twig

Additionally, you can check if dot-debugbar is enabled for your session by calling debugBarEnabled() inside a template. This feature can be useful if you need to add custom logic for when dot-debugbar is enabled.

Usage

Other than the data being automatically collected during a session, dot-debugbar can also be used to log messages, measure durations, debug database queries and more...

When you need an instance of DebugBar, locate an instance of it in your application's container using:

$debugBar = $container->get(\Dot\DebugBar\DebugBar::class);

then your factory can inject $debugBar as a dependency in your class.

OR

If you are using dot-annotated-services inject it directly in your class's constructor.

Once an instance of DebugBar has been injected in your code, you can access all its features. The below examples will assume you already have an instance of DebugBar in your code, and it's callable using $this->debugBar.

Logging messages

Results will show up in the debug bar under the Messages tab.

Log messages (can be of any type):

$this->debugBar->addMessage(1);
$this->debugBar->addMessage(true);
$this->debugBar->addMessage('foo');
$this->debugBar->addMessage(['foo']);
$this->debugBar->addMessage(new \stdClass());

Log messages and set custom label by specifying the 2nd argument (you can use any label, but error and warning use custom highlight and icons):

$exception = new \Exception('something went wrong');
$this->debugBar->addMessage($exception, 'error');
$this->debugBar->addMessage($exception->getMessage(), 'error');
$this->debugBar->addMessage('some warning', 'warning');
$this->debugBar->addMessage('custom message', 'custom');

Also, clicking on a label (found on the bottom right of the debugbar) will toggle the visibility of all messages with that specific label.

Measure durations

Results will show up in the debug bar under the Timeline tab.

In order to measure how long does it take for a piece of code to execute, do the following:

$this->debugBar->measure('long operation', function () {
// your code here
});

OR

$this->debugBar->startTimer('long operation', 'measuring long operation');
// your code here$this->debugBar->stopTimer('long operation');

Debug Doctrine queries

Results will show up in the debug bar under the Database tab.

By default, all queries executed in order to load a page will be logged and displayed under this tab. If you submit a form that will perform a redirect, you won't see the executed CREATE/UPDATE queries unless you stack the collected data:

$this->debugBar->stackData();

The method needs to be called after all database operations have finished AND before emitting the redirect response. In this case, next to the Memory usage widget you'll see a dropdown that allows you to select between the previous page load (with the redirect) and the current one.

Debug Exceptions

Results will show up in the debug bar under the Exceptions tab.

By registering Dot\DebugBar\Middleware\DebugBarMiddleware, dot-debugbar is ready to capture Exceptions.

About

Middleware on top of maximebf/php-debugbar

Resources

Contributing

Security policy

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

dot-debugbar

Dotkernel's debug bar component

dot-debugbar is a wrapper on top of maximebf/php-debugbar

Documentation

Documentation is available at: https://docs.dotkernel.org/dot-debugbar/.

Badges

OSS LifecyclePHP from Packagist (specify version)

GitHub issuesGitHub forksGitHub starsGitHub license

Build Staticcodecovdocs-buildPHPStan

Install

Install dot-debugbar in your application by running the following command:

composer require dotkernel/dot-debugbar

Setup

Once installed, the following components need to be registered by adding:

$app->pipe(\Dot\DebugBar\Middleware\DebugBarMiddleware::class);

to config/pipeline.php (preferably after ServerUrlMiddleware::class)

\Dot\DebugBar\ConfigProvider::class

to config/config.php (preferably at the beginning of the section where the Dotkernel packages are loaded)

\Dot\DebugBar\Extension\DebugBarExtension::class

to config/autoload/templates.global.php (inside the array founder under the key twig => extensions)

Locate the library's assets directory, called assets and copy its contents to your application under public/debugbar directory.

Locate the library's config file config/debugbar.local.php and clone it inside your application as:

  • config/autoload/debugbar.local.php.dist
  • config/autoload/debugbar.local.php

By default, dot-debugbar is enabled only on the local environment, by whitelisting your local IP address in the config file, inside the array located under the ipv4Whitelist key. If you need to enable it on other environments as well, just whitelist your public IPV4 address. It can also be enabled globally, by whitelisting the string *. Finally, if you want to keep the whitelists but disable dot-debugbar, you can set enabled to false.

Inside the config file, you will find additional configurations under the javascript_renderer key. For more configuration values, follow the link in the related comment block.

At this step, dot-debugbar is not displayed yet. In order to display it, you need to call the following Twig functions from your base layout:

{{ debugBarCss()|raw }}

(needs to be placed in the head section of the layout, where the CSS files are included)

{{ debugBarJs()|raw }}

(needs to be placed in the footer of the layout, where the JS files are included)

If you plan to enable dot-debugbar on production, make sure you clear the relevant cache items by deleting:

  • the config cache file: data/cache/config-cache.php
  • Twig cache directory: data/cache/twig

Additionally, you can check if dot-debugbar is enabled for your session by calling debugBarEnabled() inside a template. This feature can be useful if you need to add custom logic for when dot-debugbar is enabled.

Usage

Other than the data being automatically collected during a session, dot-debugbar can also be used to log messages, measure durations, debug database queries and more...

When you need an instance of DebugBar, locate an instance of it in your application's container using:

$debugBar = $container->get(\Dot\DebugBar\DebugBar::class);

then your factory can inject $debugBar as a dependency in your class.

OR

If you are using dot-annotated-services inject it directly in your class's constructor.

Once an instance of DebugBar has been injected in your code, you can access all its features. The below examples will assume you already have an instance of DebugBar in your code, and it's callable using $this->debugBar.

Logging messages

Results will show up in the debug bar under the Messages tab.

Log messages (can be of any type):

$this->debugBar->addMessage(1);
$this->debugBar->addMessage(true);
$this->debugBar->addMessage('foo');
$this->debugBar->addMessage(['foo']);
$this->debugBar->addMessage(new \stdClass());

Log messages and set custom label by specifying the 2nd argument (you can use any label, but error and warning use custom highlight and icons):

$exception = new \Exception('something went wrong');
$this->debugBar->addMessage($exception, 'error');
$this->debugBar->addMessage($exception->getMessage(), 'error');
$this->debugBar->addMessage('some warning', 'warning');
$this->debugBar->addMessage('custom message', 'custom');

Also, clicking on a label (found on the bottom right of the debugbar) will toggle the visibility of all messages with that specific label.

Measure durations

Results will show up in the debug bar under the Timeline tab.

In order to measure how long does it take for a piece of code to execute, do the following:

$this->debugBar->measure('long operation', function () {
// your code here
});

OR

$this->debugBar->startTimer('long operation', 'measuring long operation');
// your code here$this->debugBar->stopTimer('long operation');

Debug Doctrine queries

Results will show up in the debug bar under the Database tab.

By default, all queries executed in order to load a page will be logged and displayed under this tab. If you submit a form that will perform a redirect, you won't see the executed CREATE/UPDATE queries unless you stack the collected data:

$this->debugBar->stackData();

The method needs to be called after all database operations have finished AND before emitting the redirect response. In this case, next to the Memory usage widget you'll see a dropdown that allows you to select between the previous page load (with the redirect) and the current one.

Debug Exceptions

Results will show up in the debug bar under the Exceptions tab.

By registering Dot\DebugBar\Middleware\DebugBarMiddleware, dot-debugbar is ready to capture Exceptions.

About

Middleware on top of maximebf/php-debugbar

Resources

Contributing

Security policy

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

dot-debugbar

Dotkernel's debug bar component

dot-debugbar is a wrapper on top of maximebf/php-debugbar

Documentation

Documentation is available at: https://docs.dotkernel.org/dot-debugbar/.

Badges

OSS LifecyclePHP from Packagist (specify version)

GitHub issuesGitHub forksGitHub starsGitHub license

Build Staticcodecovdocs-buildPHPStan

Install

Install dot-debugbar in your application by running the following command:

composer require dotkernel/dot-debugbar

Setup

Once installed, the following components need to be registered by adding:

$app->pipe(\Dot\DebugBar\Middleware\DebugBarMiddleware::class);

to config/pipeline.php (preferably after ServerUrlMiddleware::class)

\Dot\DebugBar\ConfigProvider::class

to config/config.php (preferably at the beginning of the section where the Dotkernel packages are loaded)

\Dot\DebugBar\Extension\DebugBarExtension::class

to config/autoload/templates.global.php (inside the array founder under the key twig => extensions)

Locate the library's assets directory, called assets and copy its contents to your application under public/debugbar directory.

Locate the library's config file config/debugbar.local.php and clone it inside your application as:

  • config/autoload/debugbar.local.php.dist
  • config/autoload/debugbar.local.php

By default, dot-debugbar is enabled only on the local environment, by whitelisting your local IP address in the config file, inside the array located under the ipv4Whitelist key. If you need to enable it on other environments as well, just whitelist your public IPV4 address. It can also be enabled globally, by whitelisting the string *. Finally, if you want to keep the whitelists but disable dot-debugbar, you can set enabled to false.

Inside the config file, you will find additional configurations under the javascript_renderer key. For more configuration values, follow the link in the related comment block.

At this step, dot-debugbar is not displayed yet. In order to display it, you need to call the following Twig functions from your base layout:

{{ debugBarCss()|raw }}

(needs to be placed in the head section of the layout, where the CSS files are included)

{{ debugBarJs()|raw }}

(needs to be placed in the footer of the layout, where the JS files are included)

If you plan to enable dot-debugbar on production, make sure you clear the relevant cache items by deleting:

  • the config cache file: data/cache/config-cache.php
  • Twig cache directory: data/cache/twig

Additionally, you can check if dot-debugbar is enabled for your session by calling debugBarEnabled() inside a template. This feature can be useful if you need to add custom logic for when dot-debugbar is enabled.

Usage

Other than the data being automatically collected during a session, dot-debugbar can also be used to log messages, measure durations, debug database queries and more...

When you need an instance of DebugBar, locate an instance of it in your application's container using:

$debugBar = $container->get(\Dot\DebugBar\DebugBar::class);

then your factory can inject $debugBar as a dependency in your class.

OR

If you are using dot-annotated-services inject it directly in your class's constructor.

Once an instance of DebugBar has been injected in your code, you can access all its features. The below examples will assume you already have an instance of DebugBar in your code, and it's callable using $this->debugBar.

Logging messages

Results will show up in the debug bar under the Messages tab.

Log messages (can be of any type):

$this->debugBar->addMessage(1);
$this->debugBar->addMessage(true);
$this->debugBar->addMessage('foo');
$this->debugBar->addMessage(['foo']);
$this->debugBar->addMessage(new \stdClass());

Log messages and set custom label by specifying the 2nd argument (you can use any label, but error and warning use custom highlight and icons):

$exception = new \Exception('something went wrong');
$this->debugBar->addMessage($exception, 'error');
$this->debugBar->addMessage($exception->getMessage(), 'error');
$this->debugBar->addMessage('some warning', 'warning');
$this->debugBar->addMessage('custom message', 'custom');

Also, clicking on a label (found on the bottom right of the debugbar) will toggle the visibility of all messages with that specific label.

Measure durations

Results will show up in the debug bar under the Timeline tab.

In order to measure how long does it take for a piece of code to execute, do the following:

$this->debugBar->measure('long operation', function () {
// your code here
});

OR

$this->debugBar->startTimer('long operation', 'measuring long operation');
// your code here$this->debugBar->stopTimer('long operation');

Debug Doctrine queries

Results will show up in the debug bar under the Database tab.

By default, all queries executed in order to load a page will be logged and displayed under this tab. If you submit a form that will perform a redirect, you won't see the executed CREATE/UPDATE queries unless you stack the collected data:

$this->debugBar->stackData();

The method needs to be called after all database operations have finished AND before emitting the redirect response. In this case, next to the Memory usage widget you'll see a dropdown that allows you to select between the previous page load (with the redirect) and the current one.

Debug Exceptions

Results will show up in the debug bar under the Exceptions tab.

By registering Dot\DebugBar\Middleware\DebugBarMiddleware, dot-debugbar is ready to capture Exceptions.

About

Middleware on top of maximebf/php-debugbar

Resources

Contributing

Security policy

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

dot-debugbar

Dotkernel's debug bar component

dot-debugbar is a wrapper on top of maximebf/php-debugbar

Documentation

Documentation is available at: https://docs.dotkernel.org/dot-debugbar/.

Badges

OSS LifecyclePHP from Packagist (specify version)

GitHub issuesGitHub forksGitHub starsGitHub license

Build Staticcodecovdocs-buildPHPStan

Install

Install dot-debugbar in your application by running the following command:

composer require dotkernel/dot-debugbar

Setup

Once installed, the following components need to be registered by adding:

$app->pipe(\Dot\DebugBar\Middleware\DebugBarMiddleware::class);

to config/pipeline.php (preferably after ServerUrlMiddleware::class)

\Dot\DebugBar\ConfigProvider::class

to config/config.php (preferably at the beginning of the section where the Dotkernel packages are loaded)

\Dot\DebugBar\Extension\DebugBarExtension::class

to config/autoload/templates.global.php (inside the array founder under the key twig => extensions)

Locate the library's assets directory, called assets and copy its contents to your application under public/debugbar directory.

Locate the library's config file config/debugbar.local.php and clone it inside your application as:

  • config/autoload/debugbar.local.php.dist
  • config/autoload/debugbar.local.php

By default, dot-debugbar is enabled only on the local environment, by whitelisting your local IP address in the config file, inside the array located under the ipv4Whitelist key. If you need to enable it on other environments as well, just whitelist your public IPV4 address. It can also be enabled globally, by whitelisting the string *. Finally, if you want to keep the whitelists but disable dot-debugbar, you can set enabled to false.

Inside the config file, you will find additional configurations under the javascript_renderer key. For more configuration values, follow the link in the related comment block.

At this step, dot-debugbar is not displayed yet. In order to display it, you need to call the following Twig functions from your base layout:

{{ debugBarCss()|raw }}

(needs to be placed in the head section of the layout, where the CSS files are included)

{{ debugBarJs()|raw }}

(needs to be placed in the footer of the layout, where the JS files are included)

If you plan to enable dot-debugbar on production, make sure you clear the relevant cache items by deleting:

  • the config cache file: data/cache/config-cache.php
  • Twig cache directory: data/cache/twig

Additionally, you can check if dot-debugbar is enabled for your session by calling debugBarEnabled() inside a template. This feature can be useful if you need to add custom logic for when dot-debugbar is enabled.

Usage

Other than the data being automatically collected during a session, dot-debugbar can also be used to log messages, measure durations, debug database queries and more...

When you need an instance of DebugBar, locate an instance of it in your application's container using:

$debugBar = $container->get(\Dot\DebugBar\DebugBar::class);

then your factory can inject $debugBar as a dependency in your class.

OR

If you are using dot-annotated-services inject it directly in your class's constructor.

Once an instance of DebugBar has been injected in your code, you can access all its features. The below examples will assume you already have an instance of DebugBar in your code, and it's callable using $this->debugBar.

Logging messages

Results will show up in the debug bar under the Messages tab.

Log messages (can be of any type):

$this->debugBar->addMessage(1);
$this->debugBar->addMessage(true);
$this->debugBar->addMessage('foo');
$this->debugBar->addMessage(['foo']);
$this->debugBar->addMessage(new \stdClass());

Log messages and set custom label by specifying the 2nd argument (you can use any label, but error and warning use custom highlight and icons):

$exception = new \Exception('something went wrong');
$this->debugBar->addMessage($exception, 'error');
$this->debugBar->addMessage($exception->getMessage(), 'error');
$this->debugBar->addMessage('some warning', 'warning');
$this->debugBar->addMessage('custom message', 'custom');

Also, clicking on a label (found on the bottom right of the debugbar) will toggle the visibility of all messages with that specific label.

Measure durations

Results will show up in the debug bar under the Timeline tab.

In order to measure how long does it take for a piece of code to execute, do the following:

$this->debugBar->measure('long operation', function () {
// your code here
});

OR

$this->debugBar->startTimer('long operation', 'measuring long operation');
// your code here$this->debugBar->stopTimer('long operation');

Debug Doctrine queries

Results will show up in the debug bar under the Database tab.

By default, all queries executed in order to load a page will be logged and displayed under this tab. If you submit a form that will perform a redirect, you won't see the executed CREATE/UPDATE queries unless you stack the collected data:

$this->debugBar->stackData();

The method needs to be called after all database operations have finished AND before emitting the redirect response. In this case, next to the Memory usage widget you'll see a dropdown that allows you to select between the previous page load (with the redirect) and the current one.

Debug Exceptions

Results will show up in the debug bar under the Exceptions tab.

By registering Dot\DebugBar\Middleware\DebugBarMiddleware, dot-debugbar is ready to capture Exceptions.

About

Middleware on top of maximebf/php-debugbar

Resources

Contributing

Security policy

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

dot-debugbar

Dotkernel's debug bar component

dot-debugbar is a wrapper on top of maximebf/php-debugbar

Documentation

Documentation is available at: https://docs.dotkernel.org/dot-debugbar/.

Badges

OSS LifecyclePHP from Packagist (specify version)

GitHub issuesGitHub forksGitHub starsGitHub license

Build Staticcodecovdocs-buildPHPStan

Install

Install dot-debugbar in your application by running the following command:

composer require dotkernel/dot-debugbar

Setup

Once installed, the following components need to be registered by adding:

$app->pipe(\Dot\DebugBar\Middleware\DebugBarMiddleware::class);

to config/pipeline.php (preferably after ServerUrlMiddleware::class)

\Dot\DebugBar\ConfigProvider::class

to config/config.php (preferably at the beginning of the section where the Dotkernel packages are loaded)

\Dot\DebugBar\Extension\DebugBarExtension::class

to config/autoload/templates.global.php (inside the array founder under the key twig => extensions)

Locate the library's assets directory, called assets and copy its contents to your application under public/debugbar directory.

Locate the library's config file config/debugbar.local.php and clone it inside your application as:

  • config/autoload/debugbar.local.php.dist
  • config/autoload/debugbar.local.php

By default, dot-debugbar is enabled only on the local environment, by whitelisting your local IP address in the config file, inside the array located under the ipv4Whitelist key. If you need to enable it on other environments as well, just whitelist your public IPV4 address. It can also be enabled globally, by whitelisting the string *. Finally, if you want to keep the whitelists but disable dot-debugbar, you can set enabled to false.

Inside the config file, you will find additional configurations under the javascript_renderer key. For more configuration values, follow the link in the related comment block.

At this step, dot-debugbar is not displayed yet. In order to display it, you need to call the following Twig functions from your base layout:

{{ debugBarCss()|raw }}

(needs to be placed in the head section of the layout, where the CSS files are included)

{{ debugBarJs()|raw }}

(needs to be placed in the footer of the layout, where the JS files are included)

If you plan to enable dot-debugbar on production, make sure you clear the relevant cache items by deleting:

  • the config cache file: data/cache/config-cache.php
  • Twig cache directory: data/cache/twig

Additionally, you can check if dot-debugbar is enabled for your session by calling debugBarEnabled() inside a template. This feature can be useful if you need to add custom logic for when dot-debugbar is enabled.

Usage

Other than the data being automatically collected during a session, dot-debugbar can also be used to log messages, measure durations, debug database queries and more...

When you need an instance of DebugBar, locate an instance of it in your application's container using:

$debugBar = $container->get(\Dot\DebugBar\DebugBar::class);

then your factory can inject $debugBar as a dependency in your class.

OR

If you are using dot-annotated-services inject it directly in your class's constructor.

Once an instance of DebugBar has been injected in your code, you can access all its features. The below examples will assume you already have an instance of DebugBar in your code, and it's callable using $this->debugBar.

Logging messages

Results will show up in the debug bar under the Messages tab.

Log messages (can be of any type):

$this->debugBar->addMessage(1);
$this->debugBar->addMessage(true);
$this->debugBar->addMessage('foo');
$this->debugBar->addMessage(['foo']);
$this->debugBar->addMessage(new \stdClass());

Log messages and set custom label by specifying the 2nd argument (you can use any label, but error and warning use custom highlight and icons):

$exception = new \Exception('something went wrong');
$this->debugBar->addMessage($exception, 'error');
$this->debugBar->addMessage($exception->getMessage(), 'error');
$this->debugBar->addMessage('some warning', 'warning');
$this->debugBar->addMessage('custom message', 'custom');

Also, clicking on a label (found on the bottom right of the debugbar) will toggle the visibility of all messages with that specific label.

Measure durations

Results will show up in the debug bar under the Timeline tab.

In order to measure how long does it take for a piece of code to execute, do the following:

$this->debugBar->measure('long operation', function () {
// your code here
});

OR

$this->debugBar->startTimer('long operation', 'measuring long operation');
// your code here$this->debugBar->stopTimer('long operation');

Debug Doctrine queries

Results will show up in the debug bar under the Database tab.

By default, all queries executed in order to load a page will be logged and displayed under this tab. If you submit a form that will perform a redirect, you won't see the executed CREATE/UPDATE queries unless you stack the collected data:

$this->debugBar->stackData();

The method needs to be called after all database operations have finished AND before emitting the redirect response. In this case, next to the Memory usage widget you'll see a dropdown that allows you to select between the previous page load (with the redirect) and the current one.

Debug Exceptions

Results will show up in the debug bar under the Exceptions tab.

By registering Dot\DebugBar\Middleware\DebugBarMiddleware, dot-debugbar is ready to capture Exceptions.

About

Middleware on top of maximebf/php-debugbar

Resources

Contributing

Security policy

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

dot-debugbar

Dotkernel's debug bar component

dot-debugbar is a wrapper on top of maximebf/php-debugbar

Documentation

Documentation is available at: https://docs.dotkernel.org/dot-debugbar/.

Badges

OSS LifecyclePHP from Packagist (specify version)

GitHub issuesGitHub forksGitHub starsGitHub license

Build Staticcodecovdocs-buildPHPStan

Install

Install dot-debugbar in your application by running the following command:

composer require dotkernel/dot-debugbar

Setup

Once installed, the following components need to be registered by adding:

$app->pipe(\Dot\DebugBar\Middleware\DebugBarMiddleware::class);

to config/pipeline.php (preferably after ServerUrlMiddleware::class)

\Dot\DebugBar\ConfigProvider::class

to config/config.php (preferably at the beginning of the section where the Dotkernel packages are loaded)

\Dot\DebugBar\Extension\DebugBarExtension::class

to config/autoload/templates.global.php (inside the array founder under the key twig => extensions)

Locate the library's assets directory, called assets and copy its contents to your application under public/debugbar directory.

Locate the library's config file config/debugbar.local.php and clone it inside your application as:

  • config/autoload/debugbar.local.php.dist
  • config/autoload/debugbar.local.php

By default, dot-debugbar is enabled only on the local environment, by whitelisting your local IP address in the config file, inside the array located under the ipv4Whitelist key. If you need to enable it on other environments as well, just whitelist your public IPV4 address. It can also be enabled globally, by whitelisting the string *. Finally, if you want to keep the whitelists but disable dot-debugbar, you can set enabled to false.

Inside the config file, you will find additional configurations under the javascript_renderer key. For more configuration values, follow the link in the related comment block.

At this step, dot-debugbar is not displayed yet. In order to display it, you need to call the following Twig functions from your base layout:

{{ debugBarCss()|raw }}

(needs to be placed in the head section of the layout, where the CSS files are included)

{{ debugBarJs()|raw }}

(needs to be placed in the footer of the layout, where the JS files are included)

If you plan to enable dot-debugbar on production, make sure you clear the relevant cache items by deleting:

  • the config cache file: data/cache/config-cache.php
  • Twig cache directory: data/cache/twig

Additionally, you can check if dot-debugbar is enabled for your session by calling debugBarEnabled() inside a template. This feature can be useful if you need to add custom logic for when dot-debugbar is enabled.

Usage

Other than the data being automatically collected during a session, dot-debugbar can also be used to log messages, measure durations, debug database queries and more...

When you need an instance of DebugBar, locate an instance of it in your application's container using:

$debugBar = $container->get(\Dot\DebugBar\DebugBar::class);

then your factory can inject $debugBar as a dependency in your class.

OR

If you are using dot-annotated-services inject it directly in your class's constructor.

Once an instance of DebugBar has been injected in your code, you can access all its features. The below examples will assume you already have an instance of DebugBar in your code, and it's callable using $this->debugBar.

Logging messages

Results will show up in the debug bar under the Messages tab.

Log messages (can be of any type):

$this->debugBar->addMessage(1);
$this->debugBar->addMessage(true);
$this->debugBar->addMessage('foo');
$this->debugBar->addMessage(['foo']);
$this->debugBar->addMessage(new \stdClass());

Log messages and set custom label by specifying the 2nd argument (you can use any label, but error and warning use custom highlight and icons):

$exception = new \Exception('something went wrong');
$this->debugBar->addMessage($exception, 'error');
$this->debugBar->addMessage($exception->getMessage(), 'error');
$this->debugBar->addMessage('some warning', 'warning');
$this->debugBar->addMessage('custom message', 'custom');

Also, clicking on a label (found on the bottom right of the debugbar) will toggle the visibility of all messages with that specific label.

Measure durations

Results will show up in the debug bar under the Timeline tab.

In order to measure how long does it take for a piece of code to execute, do the following:

$this->debugBar->measure('long operation', function () {
// your code here
});

OR

$this->debugBar->startTimer('long operation', 'measuring long operation');
// your code here$this->debugBar->stopTimer('long operation');

Debug Doctrine queries

Results will show up in the debug bar under the Database tab.

By default, all queries executed in order to load a page will be logged and displayed under this tab. If you submit a form that will perform a redirect, you won't see the executed CREATE/UPDATE queries unless you stack the collected data:

$this->debugBar->stackData();

The method needs to be called after all database operations have finished AND before emitting the redirect response. In this case, next to the Memory usage widget you'll see a dropdown that allows you to select between the previous page load (with the redirect) and the current one.

Debug Exceptions

Results will show up in the debug bar under the Exceptions tab.

By registering Dot\DebugBar\Middleware\DebugBarMiddleware, dot-debugbar is ready to capture Exceptions.

About

Middleware on top of maximebf/php-debugbar

Resources

Contributing

Security policy

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

dot-debugbar

Dotkernel's debug bar component

dot-debugbar is a wrapper on top of maximebf/php-debugbar

Documentation

Documentation is available at: https://docs.dotkernel.org/dot-debugbar/.

Badges

OSS LifecyclePHP from Packagist (specify version)

GitHub issuesGitHub forksGitHub starsGitHub license

Build Staticcodecovdocs-buildPHPStan

Install

Install dot-debugbar in your application by running the following command:

composer require dotkernel/dot-debugbar

Setup

Once installed, the following components need to be registered by adding:

$app->pipe(\Dot\DebugBar\Middleware\DebugBarMiddleware::class);

to config/pipeline.php (preferably after ServerUrlMiddleware::class)

\Dot\DebugBar\ConfigProvider::class

to config/config.php (preferably at the beginning of the section where the Dotkernel packages are loaded)

\Dot\DebugBar\Extension\DebugBarExtension::class

to config/autoload/templates.global.php (inside the array founder under the key twig => extensions)

Locate the library's assets directory, called assets and copy its contents to your application under public/debugbar directory.

Locate the library's config file config/debugbar.local.php and clone it inside your application as:

  • config/autoload/debugbar.local.php.dist
  • config/autoload/debugbar.local.php

By default, dot-debugbar is enabled only on the local environment, by whitelisting your local IP address in the config file, inside the array located under the ipv4Whitelist key. If you need to enable it on other environments as well, just whitelist your public IPV4 address. It can also be enabled globally, by whitelisting the string *. Finally, if you want to keep the whitelists but disable dot-debugbar, you can set enabled to false.

Inside the config file, you will find additional configurations under the javascript_renderer key. For more configuration values, follow the link in the related comment block.

At this step, dot-debugbar is not displayed yet. In order to display it, you need to call the following Twig functions from your base layout:

{{ debugBarCss()|raw }}

(needs to be placed in the head section of the layout, where the CSS files are included)

{{ debugBarJs()|raw }}

(needs to be placed in the footer of the layout, where the JS files are included)

If you plan to enable dot-debugbar on production, make sure you clear the relevant cache items by deleting:

  • the config cache file: data/cache/config-cache.php
  • Twig cache directory: data/cache/twig

Additionally, you can check if dot-debugbar is enabled for your session by calling debugBarEnabled() inside a template. This feature can be useful if you need to add custom logic for when dot-debugbar is enabled.

Usage

Other than the data being automatically collected during a session, dot-debugbar can also be used to log messages, measure durations, debug database queries and more...

When you need an instance of DebugBar, locate an instance of it in your application's container using:

$debugBar = $container->get(\Dot\DebugBar\DebugBar::class);

then your factory can inject $debugBar as a dependency in your class.

OR

If you are using dot-annotated-services inject it directly in your class's constructor.

Once an instance of DebugBar has been injected in your code, you can access all its features. The below examples will assume you already have an instance of DebugBar in your code, and it's callable using $this->debugBar.

Logging messages

Results will show up in the debug bar under the Messages tab.

Log messages (can be of any type):

$this->debugBar->addMessage(1);
$this->debugBar->addMessage(true);
$this->debugBar->addMessage('foo');
$this->debugBar->addMessage(['foo']);
$this->debugBar->addMessage(new \stdClass());

Log messages and set custom label by specifying the 2nd argument (you can use any label, but error and warning use custom highlight and icons):

$exception = new \Exception('something went wrong');
$this->debugBar->addMessage($exception, 'error');
$this->debugBar->addMessage($exception->getMessage(), 'error');
$this->debugBar->addMessage('some warning', 'warning');
$this->debugBar->addMessage('custom message', 'custom');

Also, clicking on a label (found on the bottom right of the debugbar) will toggle the visibility of all messages with that specific label.

Measure durations

Results will show up in the debug bar under the Timeline tab.

In order to measure how long does it take for a piece of code to execute, do the following:

$this->debugBar->measure('long operation', function () {
// your code here
});

OR

$this->debugBar->startTimer('long operation', 'measuring long operation');
// your code here$this->debugBar->stopTimer('long operation');

Debug Doctrine queries

Results will show up in the debug bar under the Database tab.

By default, all queries executed in order to load a page will be logged and displayed under this tab. If you submit a form that will perform a redirect, you won't see the executed CREATE/UPDATE queries unless you stack the collected data:

$this->debugBar->stackData();

The method needs to be called after all database operations have finished AND before emitting the redirect response. In this case, next to the Memory usage widget you'll see a dropdown that allows you to select between the previous page load (with the redirect) and the current one.

Debug Exceptions

Results will show up in the debug bar under the Exceptions tab.

By registering Dot\DebugBar\Middleware\DebugBarMiddleware, dot-debugbar is ready to capture Exceptions.

About

Middleware on top of maximebf/php-debugbar

Resources

Contributing

Security policy

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

dot-debugbar

Dotkernel's debug bar component

dot-debugbar is a wrapper on top of maximebf/php-debugbar

Documentation

Documentation is available at: https://docs.dotkernel.org/dot-debugbar/.

Badges

OSS LifecyclePHP from Packagist (specify version)

GitHub issuesGitHub forksGitHub starsGitHub license

Build Staticcodecovdocs-buildPHPStan

Install

Install dot-debugbar in your application by running the following command:

composer require dotkernel/dot-debugbar

Setup

Once installed, the following components need to be registered by adding:

$app->pipe(\Dot\DebugBar\Middleware\DebugBarMiddleware::class);

to config/pipeline.php (preferably after ServerUrlMiddleware::class)

\Dot\DebugBar\ConfigProvider::class

to config/config.php (preferably at the beginning of the section where the Dotkernel packages are loaded)

\Dot\DebugBar\Extension\DebugBarExtension::class

to config/autoload/templates.global.php (inside the array founder under the key twig => extensions)

Locate the library's assets directory, called assets and copy its contents to your application under public/debugbar directory.

Locate the library's config file config/debugbar.local.php and clone it inside your application as:

  • config/autoload/debugbar.local.php.dist
  • config/autoload/debugbar.local.php

By default, dot-debugbar is enabled only on the local environment, by whitelisting your local IP address in the config file, inside the array located under the ipv4Whitelist key. If you need to enable it on other environments as well, just whitelist your public IPV4 address. It can also be enabled globally, by whitelisting the string *. Finally, if you want to keep the whitelists but disable dot-debugbar, you can set enabled to false.

Inside the config file, you will find additional configurations under the javascript_renderer key. For more configuration values, follow the link in the related comment block.

At this step, dot-debugbar is not displayed yet. In order to display it, you need to call the following Twig functions from your base layout:

{{ debugBarCss()|raw }}

(needs to be placed in the head section of the layout, where the CSS files are included)

{{ debugBarJs()|raw }}

(needs to be placed in the footer of the layout, where the JS files are included)

If you plan to enable dot-debugbar on production, make sure you clear the relevant cache items by deleting:

  • the config cache file: data/cache/config-cache.php
  • Twig cache directory: data/cache/twig

Additionally, you can check if dot-debugbar is enabled for your session by calling debugBarEnabled() inside a template. This feature can be useful if you need to add custom logic for when dot-debugbar is enabled.

Usage

Other than the data being automatically collected during a session, dot-debugbar can also be used to log messages, measure durations, debug database queries and more...

When you need an instance of DebugBar, locate an instance of it in your application's container using:

$debugBar = $container->get(\Dot\DebugBar\DebugBar::class);

then your factory can inject $debugBar as a dependency in your class.

OR

If you are using dot-annotated-services inject it directly in your class's constructor.

Once an instance of DebugBar has been injected in your code, you can access all its features. The below examples will assume you already have an instance of DebugBar in your code, and it's callable using $this->debugBar.

Logging messages

Results will show up in the debug bar under the Messages tab.

Log messages (can be of any type):

$this->debugBar->addMessage(1);
$this->debugBar->addMessage(true);
$this->debugBar->addMessage('foo');
$this->debugBar->addMessage(['foo']);
$this->debugBar->addMessage(new \stdClass());

Log messages and set custom label by specifying the 2nd argument (you can use any label, but error and warning use custom highlight and icons):

$exception = new \Exception('something went wrong');
$this->debugBar->addMessage($exception, 'error');
$this->debugBar->addMessage($exception->getMessage(), 'error');
$this->debugBar->addMessage('some warning', 'warning');
$this->debugBar->addMessage('custom message', 'custom');

Also, clicking on a label (found on the bottom right of the debugbar) will toggle the visibility of all messages with that specific label.

Measure durations

Results will show up in the debug bar under the Timeline tab.

In order to measure how long does it take for a piece of code to execute, do the following:

$this->debugBar->measure('long operation', function () {
// your code here
});

OR

$this->debugBar->startTimer('long operation', 'measuring long operation');
// your code here$this->debugBar->stopTimer('long operation');

Debug Doctrine queries

Results will show up in the debug bar under the Database tab.

By default, all queries executed in order to load a page will be logged and displayed under this tab. If you submit a form that will perform a redirect, you won't see the executed CREATE/UPDATE queries unless you stack the collected data:

$this->debugBar->stackData();

The method needs to be called after all database operations have finished AND before emitting the redirect response. In this case, next to the Memory usage widget you'll see a dropdown that allows you to select between the previous page load (with the redirect) and the current one.

Debug Exceptions

Results will show up in the debug bar under the Exceptions tab.

By registering Dot\DebugBar\Middleware\DebugBarMiddleware, dot-debugbar is ready to capture Exceptions.

About

Middleware on top of maximebf/php-debugbar

Resources

Contributing

Security policy

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages