PHP whoops error on slim framework
Install the composer
curl -sS https://getcomposer.org/installer | phpEdit composer.json
| Slim | Whoops | Version | Global Mode | PHP DI |
|---|---|---|---|---|
| 1 | n/a | 0.1.* | no | no |
| 2 | 1.* | 0.3.* | no | no |
| 3 | <= 1.* | 0.4.* | no | no |
| 3 | >= 2.* | 0.5.* | no | no |
| 3 | >= 2.* | 0.6.* | yes | yes |
| 4 | >= 2.* | 0.7.* | no | no |
For Slim framework 4, The composer.json will looks like
{
"require": {
"zeuxisoo/slim-whoops": "0.7.*"
}
}Now, install or update the dependencies
composer installAdd to middleware with default settings
$app->add(new Zeuxisoo\Whoops\Slim\WhoopsMiddleware());Or you can pass more settings to the WhoopsMiddleware
$app->add(new Zeuxisoo\Whoops\Slim\WhoopsMiddleware([
'enable' => true,
'editor' => 'sublime',
'title' => 'Custom whoops page title',
]));If your editor do not included in default editor list, you can custom it like
$app->add(new Zeuxisoo\Whoops\Slim\WhoopsMiddleware([
'editor' => function($file, $line) {
return "http://localhost:8091?message=%file:%line";
}
]));In this usage, you can make your own handler for whoops, like:
$simplyErrorHandler = function($exception, $inspector, $run) {
$message = $exception->getMessage();
$title = $inspector->getExceptionName();
echo "{$title} -> {$message}";
exit;
};And then pass it to the WhoopsMiddleware:
new Zeuxisoo\Whoops\Slim\WhoopsMiddleware([], [$simplyErrorHandler]);Version 0.3.0 or above version
- The
whoopslibrary is installed by default base on the Whoops Framework Integration Document
Version 0.2.0
- You must to install the
whoopslibrary manually.