PHP鍊式呼叫如何在中間錯誤的時候拿到錯誤訊息
這裡的錯誤訊息不是簡單的字串,例如鍊式呼叫過程中可能某一個函數在不滿足某個條件的時候,需要返回一個數組,直接報錯,說數組無法調用下一個函數,但是如何能做到在中間某個函數回傳的條件下不再往後繼續呼叫呢?
習慣沉默2017-07-05 10:48:11
是不是下面的這個樣子呢?
<?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
的感覺
在線把玩 https://glot.io/snippets/ereygerdv3