Skip to content

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

License

Notifications You must be signed in to change notification settings

dopesong/Slim-Whoops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • PHP >=5.6.0
  • Whoops ^2.0

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;
};