0

因此,我正在使用 whoops 框架在我的应用程序中显示异常,并且一切正常,但是现在我遇到了自定义处理程序的问题,该处理程序向用户显示了一个友好的错误。问题是我希望自定义错误只打印一次,而不是在每个异常上。

    $whoops = new \Whoops\Run;
    $whoops->handleShutdown(true);
    $whoops->allowQuit(true);

    $whoopsHandler = new \Whoops\Handler\PrettyPageHandler;

    if (DEBUG){
        
        $whoops->pushHandler($whoopsHandler);

    }else{

        // Use a custom handler to catch and process exceptions in a friendly manner

        $whoops->pushHandler(function($frame, $inspector, $whoops){

            APP::friendlyError();
            APP::print();

        });


    }

APP::freidlyError() ; 方法在变量中附加一个 html 字符串

APP::print() ; 然后将附加的字符串打印到页面上

如您所见,print 方法位于回调内部,并且每次出现异常时都会运行。

我需要的是在所有异常之后打印错误消息。我知道回调方法不是为此,但我找不到在这种情况下可以帮助我的方法。

要么我需要在至少出现一个错误时得到通知,要么计算异常总数,然后打印消息。该消息只是一个带有消息“我们遇到一些问题,请稍后再回来”的模式

从逻辑的角度来看,我不能将 print 方法放在回调之外,因为它将在回调被调用之前运行,所以我在这里有点困惑如何完成这个

4

0 回答 0