PHP链式调用如何在中间返回信息
学习ing
学习ing 2017-07-05 10:46:11
0
3
1078

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

小葫芦

throw new Exception('error');

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板