Heim >Backend-Entwicklung >PHP-Tutorial >Kann eine Unterklasse die spätere Programmausführung in der Unterklasse verhindern, indem sie eine Methode in der übergeordneten Klasse aufruft?
Dieser Zweifel wird durch die AjaxReturn-Methode in Tp verursacht. Ich möchte auch in anderen Frameworks von dieser Methode lernen, bin aber auf einige Probleme gestoßen
<code>class A { public $num = 2; public function return_num() { return $this->num; } } class B extends A{ public function return_A_mum() { $this->return_num(); echo 222; //这里不让他运行 } } $B = new B(); $a = $B->return_A_mum(); echo $a; /* 这里输出$a是222; */ </code>
Schüler, die tp
verwendet haben, wissen, dass es nicht nötig ist, $this->ajaxReturn
vor return
hinzuzufügen, und wenn mein Code den A
-Wert in der num
-Klasse zurückgeben möchte, muss dies der Fall sein Wird in Klasse A aufgerufen. Der return_num
-Methode von Klasse B geht ein return
voran. Wie wird die TP
-Unterklasse aufgerufen, um Daten abzurufen und die Ausführung von nachfolgendem Code zu stoppen? die Unterklasse?
<code>class A { public $num = 2; public function return_num() { return $this->num; } } class B extends A{ public function return_A_mum() { $this->return_num(); echo 222; //这里不让他运行 } } $B = new B(); $a = $B->return_A_mum(); echo $a; /* 这里输出$a是222; */ </code>Schüler, die
verwendet haben, wissen, dass es nicht nötig ist, tp
vor $this->ajaxReturn
hinzuzufügen, und wenn mein Code den return
-Wert in der A
-Klasse zurückgeben möchte, muss dies der Fall sein Wird in Klasse A aufgerufen. Der num
-Methode von Klasse B geht ein return_num
voran. Wie wird die return
-Unterklasse aufgerufen, um Daten abzurufen und die Ausführung von nachfolgendem Code zu stoppen? die Unterklasse? TP
Einige spezifische Ausgaben haben Formatanforderungen, daher verfügen solche Methoden häufig über integrierte Exits, wie z. B. JSON, XML usw., die am häufigsten vorkommen ones Die URL-Sprünge müssen nach Verwendung der Header-Funktion zum Senden der Sprunganweisung beendet werden, da sonst später eine große Ausgabe erzeugt wird.
Es scheint, dass Yii, ein sehr einzigartiges Framework, über zwei Methoden verfügt: $controller->redirect() und $controller->redirectAndExit(). Leute, die es nicht wissen, werden kläglich sterben, wenn sie ersteres aufrufen.
Was Sie tun, ist, JSON zurückzugeben. Wenn Sie es nicht zurückgeben, werden wahrscheinlich zusätzliche Zeichen nach dem JSON hinzugefügt, was dazu führt, dass das Datenformat illegal ist.
<code class="php">protected function ajaxReturn($data) { // 返回JSON数据格式到客户端 包含状态信息 header('Content-Type:application/json; charset=utf-8'); exit(json_encode($data)); }</code>
Ausgabe 2
<code>class A { public $num = 2; public function return_num() { return $this->num; } } class B extends A { public function return_A_mum(&$data) { $data = $this->return_num(); } } $B = new B(); $B->return_A_mum($a); echo $a;</code>Überprüfen Sie, ob es der gewünschte Effekt ist