当我的PHP
脚本出错时,我会看到一个很好的Whoops
页面,其中包含错误的所有详细信息。
但是,有时我需要查看输出错误的位置(例如,在包含100万个项目的循环中,但只有1个产生问题,我需要查看哪个项目)。我在每个项目后刷新输出,因此Whoops
页面后面的页面显示页面底部的最后一项。
有没有办法隐藏Whoops
页面(暂时)?
使用Chrome DevTools
,我现在隐藏了具有“DIV
”类的Whoops_container
,但如果有更优雅的方式会很好。
答案 0 :(得分:0)
但是因为我知道这个Whoops行为有多烦人,所以我再次添加了答案:
我创建了一个添加“隐藏按钮”的拉取请求。您可以在此处查看必要的更改:https://github.com/filp/whoops/pull/579/files
这可能会有所帮助,直到他们整合它,或者如果他们决定不整合它。
以下是从pull请求中提取的更改,以便为链接添加一些值:
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);
}
答案 1 :(得分:0)
如果错误很常见,您可以全局转发。对于ValidationException或ModelNotFoundException示例,您可以忽略该异常。
在Laravel的Handler.php中有一个名为$ dontReport的数组。您可以在此注册您的异常类,并在全球范围内处理您的异常。
protected $dontReport = [
\Illuminate\Database\Eloquent\ModelNotFoundException::class,
\Illuminate\Validation\ValidationException::class,
];
您还可以将自定义输出代码编写到渲染函数中以处理异常。
祝你好运!