dopesong/slim-whoops

Slim Whoops

Latest Stable Version
Total Downloads
Latest Unstable Version
License

Slim Framework 3 error handler built on top of Whoops Error Handler

Installing

Use Composer to install Whoops into your project:

composer require dopesong/slim-whoops

Requirements

Usage With Slim 3

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();

Additional handlers

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;
};
Last update: Tue, 13 Sep 2022 14:32:15