lefuturiste/slim-whoops

PHP whoops错误在slim框架中

0.6.3 2020-04-25 06:44 UTC

This package is auto-updated.

Last update: 2024-09-25 16:20:28 UTC


README

PHP whoops错误在slim框架中

状态

Build Status

安装

安装composer

curl -sS https://getcomposer.org/installer | php

编辑composer.json

对于Slim框架3composer.json将如下所示

{
	"require": {
		"zeuxisoo/slim-whoops": "0.6.*"
	}
}

现在,执行installupdate来安装或更新依赖项

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

版本0.2.0

  • 您必须手动安装whoops库。

测试

运行测试用例

php vendor/bin/phpunit