A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

让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、测试
代码如下图所示:
报错机制效果如下图所示:

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马