当我的
PHP
脚本出错时,我会看到一个漂亮的 Whoops
页面,其中包含错误的所有详细信息。
但是,有时我需要查看出错位置的输出(例如,在一个包含 100 万个项目的循环中,但只有其中 1 个出现问题,我需要查看哪个项目)。我在每个项目之后刷新输出,因此
Whoops
页面后面的页面显示页面底部的最后一个项目。
有办法隐藏
Whoops
页面(暂时)吗?
使用
Chrome DevTools
,我现在隐藏了具有 'DIV
' 类的 Whoops_container
,但如果有更优雅的方式那就太好了。
如果错误很常见,您可以全局忽略该错误。对于 ValidationException 或 ModelNotFoundException 示例,您可以忽略该异常。
在 Laravel 的 Handler.php 中,有一个名为 $dontReport 的数组。您可以在这里注册您的异常类并全局忽略您的异常。
protected $dontReport = [
\Illuminate\Database\Eloquent\ModelNotFoundException::class,
\Illuminate\Validation\ValidationException::class,
];
您还可以将自定义输出代码写入渲染函数来处理异常。
我创建了一个添加“隐藏按钮”的拉取请求。您可以在此处查看必要的更改:https://github.com/filp/whoops/pull/579/files
这可能会有所帮助,直到他们集成它,或者如果他们决定不集成它。
以下是从拉取请求中提取的更改,为链接添加一些值:
src/Whoops/Resources/views/header.html.php(将其添加到另一个按钮(“COPY”)下方
<button id="hide-error" class="rightButton" title="Hide error message" onclick="document.getElementsByClassName('Whoops')[0].style.display = 'none';">
HIDE
</button>
src/Whoops/Resources/views/header.html.php(将其添加到末尾)
.rightButton {
cursor: pointer;
border: 0;
opacity: .8;
background: none;
color: rgba(255, 255, 255, 0.1);
box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.1);
border-radius: 3px;
outline: none !important;
}
.rightButton:hover {
box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.3);
color: rgba(255, 255, 255, 0.3);
}