Slim Framework 3 error handler built on top of Whoops Error Handler
Use Composer to install Whoops into your project:
composer require dopesong/slim-whoops
- PHP >=5.6.0
- Whoops ^2.0
use Dopesong\Slim\Error\Whoops as WhoopsError;
include "vendor/autoload.php";
$app = new Slim\App();
$container = $app->getContainer();
$container['phpErrorHandler'] = $container['errorHandler'] = function($c) {
return new WhoopsError();
};
$app->run();
Custom handlers can be added to execute additional tasks. For example, you might want to log the error like so:
include "vendor/autoload.php";
use Whoops\Handler\Handler;
use Dopesong\Slim\Error\Whoops as WhoopsError;
$app = new Slim\App();
$container = $app->getContainer();
$container['phpErrorHandler'] = $container['errorHandler'] = function ($container) {
$logger = $container['logger'];
$whoopsHandler = new WhoopsError();
$whoopsHandler->pushHandler(
function ($exception) use ($logger) {
/** @var \Exception $exception */
$logger->error($exception->getMessage(), ['exception' => $exception]);
return Handler::DONE;
}
);
return $whoopsHandler;
};