Debugger integrated with PhpStorm.
ErrorDumper
allows you to catch all kinds of errors and exceptions in PHP.
You will be able to serialize, restore and display them later in readable form.
@See example.
composer require awesomite/error-dumper
<?php
use Awesomite\ErrorDumper\Handlers\ErrorHandler;
use Awesomite\ErrorDumper\Listeners\OnExceptionCallable;
use Awesomite\ErrorDumper\Listeners\OnExceptionDevView;
use Awesomite\ErrorDumper\Views\ViewFactory;
/**
* Create new error handler.
* If $mode is null will be used default value E_ALL | E_STRICT.
*
* @see http://php.net/manual/en/errorfunc.constants.php
*/
$handler = new ErrorHandler(/* optional $mode = null */);
/**
* Create and push new error listener,
* this handler will print programmer-friendly stack trace.
*/
$devViewListener = new OnExceptionDevView(ViewFactory::create());
$handler->pushListener($devViewListener);
/**
* Create and push new custom error listener.
*/
$handler->pushListener(new OnExceptionCallable(function ($exception) {
// do something with $exception
}));
/**
* Create and push new custom error listener,
* this handler will be used only when $exception is instance of \RuntimeException.
*/
$handler->pushListener(new OnExceptionCallable(function (\RuntimeException $exception) {
// do something with $exception
}));
/**
* Exit script when error has been detected after executing all listeners.
*/
$handler->exitAfterTrigger(true);
/**
* Register error handler.
*
* Possible types:
* - ErrorHandler::TYPE_ERROR
* - ErrorHandler::TYPE_EXCEPTION
* - ErrorHandler::TYPE_FATAL_ERROR
*/
$handler->register(/* optional bitmask $types = ErrorHandler::TYPE_ALL */);
Read documentation.
The version numbers follow the Semantic Versioning 2.0.0 scheme.
To run examples you need at least PHP 5.4.
composer update --dev
bin/webserver.sh
Execute above commands and open in your browser url http://localhost:8001
.
To run example in terminal, execute bin/test.php
.
This library uses *.js files hosted on maxcdn.bootstrapcdn.com
and code.jquery.com
(@see \Awesomite\ErrorDumper\Views\ViewHtml::getResources
).
Add those domains to your Content-Security-Policy
header during display errors.