84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
PHP链式调用如何在中间错误的时候拿到错误信息
这里的错误信息不是简单的字符串,比如链式调用过程中可能某一个函数在不满足某个条件的时候,需要返回一个数组,直接报错,说数组无法调用下一个函数,但是如何能做到在中间某个函数返回的条件下不再往后继续调用呢?
尝试捕捉
是不是下面的这个样子呢?
<?php class Demo { protected $result; protected $error = false; function funcA() { if (! $this->error) { //do xxx } return $this; } function funcB() { if (! $this->error) { //do xxx //模拟发生错误 $this->error = true; $this->result = ['Ops!', 'Something bad Happened!']; } return $this; } function funcC() { if (! $this->error) { //do xxx } return $this; } function GetResult() { return [$this->result, $this->error]; } } $demo = new Demo(); list($result, $hasError) = $demo->funcA()->funcB()->funcC()->GetResult(); var_dump($result, $hasError);
PS: 感觉写出了 golang 的感觉
golang
在线把玩 https://glot.io/snippets/ereygerdv3
throw new Exception('error');
尝试捕捉
是不是下面的这个样子呢?
在线把玩 https://glot.io/snippets/ereygerdv3
throw new Exception('error');