PHP鍊式呼叫如何在中間回傳訊息
学习ing
学习ing 2017-07-05 10:46:11
0
3
1025

PHP鍊式呼叫如何在中間錯誤的時候拿到錯誤訊息

這裡的錯誤訊息不是簡單的字串,例如鍊式呼叫過程中可能某一個函數在不滿足某個條件的時候,需要返回一個數組,直接報錯,說數組無法調用下一個函數,但是如何能做到在中間某個函數回傳的條件下不再往後繼續呼叫呢?

学习ing
学习ing

全部回覆(3)
世界只因有你

嘗試捕捉

習慣沉默

是不是下面的這個樣子呢?

<?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

小葫芦

拋出新的異常('錯誤');

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!