首先我们在APP\Exceptions目录下自定义一个异常类,我这里建立一个GeneralException的异常类
然后APP\Exceptions目录下有一个Handler.php文件,在里面有一个render方法,这个方法是用来渲染异常异常信息到Response。
public function render($request, Exception $exception)
{
if($exception instanceof GeneralException){//这里判断抛出的异常是不是我们自己定义的异常类
//返回上一页并显示错误信息
return redirect()->back()->withInput()->withErrors($exception->getMessage());
}
return parent::render($request, $exception);
}
这样做完还不够,你还需要在你的模板中包含错误信息显示的逻辑。
@if ($errors->any())
<div class="alert alert-danger">
@foreach ($errors->all() as $error)
{!! $error !!}<br/>
@endforeach
</div>
@endif
你可以将上面的代码单独提取到一个模板页面,然后用include包含进来。
这样我们只需要在控制器中直接执行throw new GeneralException("错误信息");
本文地址:https://www.blear.cn/index.php/article/Laravel-Render-Exception
转载时请以链接形式注明出处
评论