我在设置 BaseValidate 时 报错 Wrong parameters for Exception

来源:6-8 全局异常处理的应用 上

justin_郑

2017-09-29

Fatal error:  Wrong parameters for Exception([string $exception [, long $code [, Exception $previous = NULL]]]) in C:\xampp\htdocs\tp5disc\application\api\validate\BaseValidate.php on line 31


public function goCheck(){
        //获取http传入的参数
        //对这些参数效验
        $request = Request::instance();
        $params = $request->param();

        $result = $this->batch()->check($params);

        if(!$result){
            $e = new ParameterException([
                'msg' => $this->error,
            ]);
            throw $e;
        }else{
            return true;
        }
    }

完全按照老师写的?

写回答

2回答

爆破熊

2018-11-29

$request = Request::instance();
$params = $request->param();

if (!$this->check($params)){
   $e = new ParameterException();
   $e->msg = is_array($this->error) ? implode(';', $this->error) : $this->error;
   throw $e;
}
return true;

我直接用$e->msg = is_array($this->error) ? implode(';', $this->error) : $this->error;

替代了 $e = new ParameterException([
                'msg' => $this->error,
            ]);

这个就好使了。


0
0

justin_郑

提问者

2017-09-29

搞清楚了 BaseException 里面要加 构造函数 

0
1
爆破熊
怎么加?能告诉我一下么。
2018-11-29
共1条回复

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4805 学习 · 4382 问题

查看课程