黑马程序员技术交流社区

标题: 让Laravel5.5框架报错机制更优雅一些 [打印本页]

作者: 游龙    时间: 2018-1-11 21:57
标题: 让Laravel5.5框架报错机制更优雅一些
让Laravel5.5框架以POST方式提交时,没有设置crsf_token值的报错机制更优雅一些

      在前一段时间中,为学生上课时在课堂中是以Laravel5.4为例;但是,有不少学生在使用composer安装Laravel时没有指定版本号,所以导致下载最新版本的Laravel框架,在学习框架过程当中,遇到form表单以post方式提交数据时,忘记在表单中使用{!! csrf_field() !!}设置token,就会报以下图所示的错误:

怎么样才能让以上报错方式更优雅一些呢?
答:为Laravel5.5框架安装filp/whoops插件即可。
1、安装filp/whoops插件
使用:composer require filp/whoops
如下图所示:
2、修改配置文件
修改项目中的/app/Exceptions/Handler.php文件

修改render( )方法,代码如下图所示:
if ($this->isHttpException($exception))
{
  return $this->renderHttpException($exception);
}
if (config('app.debug'))
{
   return $this->renderExceptionWithWhoops($exception);
}
return parent::render($request,$exception);

在render( )方法后面添加renderExceptionWithWhoops()方法,代码如下图所示:
/**
*Render an exception using Whoops.
*
*@param  \Exception $e
*@return \Illuminate\Http\Response
*/
protected functionrenderExceptionWithWhoops(Exception $e)
{
    return new\Illuminate\Http\Response(
        $whoops->handleException($e),
       $e->getStatusCode(),
       $e->getHeaders()
   );
}
3、测试
代码如下图所示:
报错机制效果如下图所示:






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2