lefuturiste / slim-whoops
PHP whoops错误在slim框架中
0.6.3
2020-04-25 06:44 UTC
Requires
- php: >=5.5.0
- filp/whoops: 2.1.*
Requires (Dev)
- phpunit/phpunit: 4.8.*
- slim/slim: 3.8.*
- slim/twig-view: 2.2.*
README
PHP whoops错误在slim框架中
状态
安装
安装composer
curl -sS https://getcomposer.org/installer | php
编辑composer.json
对于Slim框架3
,composer.json
将如下所示
{
"require": {
"zeuxisoo/slim-whoops": "0.6.*"
}
}
现在,执行install
或update
来安装或更新依赖项
php composer.phar install
用法
只需将中间件添加到您的slim应用程序中。
简单方法
在这种情况下,您必须确保此行首先添加,并位于其他中间件之上
$app->add(new \Zeuxisoo\Whoops\Provider\Slim\WhoopsMiddleware);
$app->add(new \Other\MiddlewareA);
$app->add(new \Other\MiddlewareB);
更好的依赖注入
在这种情况下,您可以将此行放置在任何位置,无需指定位置
$app->add(new \Zeuxisoo\Whoops\Provider\Slim\WhoopsMiddleware($app));
全局模式
在这种情况下,以下代码可以使Whoops错误在全局范围内,无论您是否已销毁程序的生命周期
$whoopsGuard = new \Zeuxisoo\Whoops\Provider\Slim\WhoopsGuard();
$whoopsGuard->setApp($app);
$whoopsGuard->setRequest($container['request']);
$whoopsGuard->setHandlers([]);
$whoopsGuard->install();
自定义Whoops处理器
在这种情况下,您可以将自定义处理器推送到whoops。例如
类似这样的处理器
$simplyErrorHandler = function($exception, $inspector, $run) {
$message = $exception->getMessage();
$title = $inspector->getExceptionName();
echo "{$title} -> {$message}";
exit;
};
中间件案例
new \Zeuxisoo\Whoops\Provider\Slim\WhoopsMiddleware($app, [$simplyErrorHandler]);
全局模式案例
$whoopsGuard = new \Zeuxisoo\Whoops\Provider\Slim\WhoopsGuard();
$whoopsGuard->setHandlers([$simplyErrorHandler]);
选项
使用您最喜欢的编辑器或IDE打开引用文件
$app = new App([
'settings' => [
// Enable whoops
'debug' => true,
// Support click to open editor
'whoops.editor' => 'sublime',
// Display call stack in orignal slim error when debug is off
'displayErrorDetails' => true,
]
]);
重要提示
版本0.3.0
- 基于Whoops框架集成文档,默认安装了
whoops
库
版本0.2.0
- 您必须手动安装
whoops
库。
测试
运行测试用例
php vendor/bin/phpunit