So geben Sie Informationen mitten in PHP-Kettenaufrufen zurück
学习ing
学习ing 2017-07-05 10:46:11
0
3
1079

So erhalten Sie Fehlerinformationen, wenn beim PHP-Kettenaufruf ein Fehler auftritt

Die Fehlermeldung hier ist keine einfache Zeichenfolge. Beispielsweise muss eine bestimmte Funktion während des Kettenaufrufvorgangs möglicherweise ein Array zurückgeben, wenn sie eine bestimmte Bedingung nicht erfüllt, und direkt einen Fehler melden, der besagt, dass das Array nicht aufgerufen werden kann die nächste Funktion, aber wie geht das? Was ist, wenn wir sie nicht weiter aufrufen, wenn eine bestimmte Funktion in der Mitte zurückkehrt?

学习ing
学习ing

Antworte allen(3)
世界只因有你

try catch

習慣沉默

是不是下面的这个样子呢?

<?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');

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage