Download the PHP package mnhcc/ml-bugcatcher without Composer
On this page you can find all versions of the php package mnhcc/ml-bugcatcher. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mnhcc/ml-bugcatcher
More information about mnhcc/ml-bugcatcher
Files in mnhcc/ml-bugcatcher
Package ml-bugcatcher
Short Description Minimalus Layoutilus — error/exception handler with debug overlay and typed exception hierarchy
License LGPL-2.1-only
Homepage https://github.com/carschrotter/ml-bugcatcher
Informations about the package ml-bugcatcher
mnhcc/ml-bugcatcher
Error handling and exception classes for the Minimalus Layoutilus PHP framework.
Provides Error (error/exception handler with the BugCatcher debug overlay),
ExceptionEventParms (the exception payload listened-to via the
ml-core event bus), and a
hierarchy of typed Exception classes.
Requirements
- PHP ≥ 5.4
- mnhcc/ml-core
Installation
What you get
Error — central error / exception handler
Constructed by the framework bootstrap. Registers
set_error_handler, set_exception_handler and
register_shutdown_function, optionally starts an output buffer for
blank-screen protection, and emits the BugCatcher debug overlay on the
response when DEBUG is on.
Exception hierarchy
Programm::runn() catches HttpException and routes to Error::raise()
with the carried status code; concrete subclasses (ConfigNotFoundException,
ControllerNotFoundException, …) preserve the original cause through PHP's
standard getPrevious() chain.
Events raised by this package
The event bus itself lives in ml-core. This package raises two events through it:
| Event | Source | Payload |
|---|---|---|
exception |
Error::handleException |
ExceptionEventParms |
shutdown |
Error::shutdown |
ExceptionEventParms |
Error::__construct also registers one listener — Error::onTemplateCreated
— which adds error and debug styles to the active Template when the MVC
package raises templateCreated.
BugCatcher debug overlay
When DEBUG is on, Error::documentPrepareHTML() injects a debug overlay
into the response so you don't have to scroll into framework internals to see
what blew up.
Layout
- Wrapped in
<div class="bugcatcher-overlay">— explicitly NOT Bootstrap's.container, so the overlay always renders full-width regardless of the host page's CSS. - White background, dark grey text, classic alert blocks, collapsible per-frame containers.
- Honours
prefers-color-scheme: darkon browsers that support the media feature; IE11 ignores the dark block and stays on the light defaults.
Exception chain
renderError($exception, $hash) walks $exception->getPrevious() and emits
one frame per link, so wrapped exceptions surface the whole chain instead
of only the outermost throw:
The "Caused by:" frames are styled with dbgHeader caused-by (an orange left
border, indented) so the chain is visually distinct from the primary throw.
Browser compatibility
- IE11 supported — no CSS custom properties, no
:has(), no@supports, classic media queries, plain RGB values. prefers-color-scheme: darkon Chrome 76+, Firefox 67+, Safari 12.1+, Edge 79+.
License
All versions of ml-bugcatcher with dependencies
mnhcc/ml-core Version ^0.9
kint-php/kint Version ^4.0
firephp/firephp-core Version ~0.3