suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So geben Sie Informationen mitten in PHP-Kettenaufrufen zurück

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学习ing2705 Tage vor1066

Antworte allen(3)Ich werde antworten

  • 世界只因有你

    世界只因有你2017-07-05 10:48:11

    try catch

    Antwort
    0
  • 習慣沉默

    習慣沉默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

    Antwort
    0
  • 高洛峰

    高洛峰2017-07-05 10:48:11

    throw new \Exception('error');

    Antwort
    0
  • StornierenAntwort