PHP-Entwicklungsframeworks wie thinkPHP kapseln die Operationsklassen der Datenbank und Methoden werden aufgerufen, wie im folgenden Code gezeigt:
<code>M('Test')->where(['status'=>1])->field('id,name')->select();</code>
Was ist die Idee hinter dieser Implementierungsmethode? Gibt es einen entsprechenden spezifischen Fachbegriff?
PHP-Entwicklungsframeworks wie thinkPHP kapseln die Operationsklassen der Datenbank und Methoden werden aufgerufen, wie im folgenden Code gezeigt:
<code>M('Test')->where(['status'=>1])->field('id,name')->select();</code>
Was ist die Idee hinter dieser Implementierungsmethode? Gibt es einen entsprechenden spezifischen Fachbegriff?
Kettenaufruf, umgesetzt durch Return $this
.
Schreiben Sie eine Demo für Sie:
<code class="php"><?php /** * 简单的加减法计算类 * * @author Flc <2016-11-23 19:32:26> */ class Calc { /** * 结果 * @var integer */ protected $result = 0; /** * 加法 * @param number $value */ public function add($value) { $this->result += $value; return $this; } /** * 减法 * @param number $value */ public function sub($value) { $this->result -= $value; return $this; } /** * 返回结果 * @return [type] [description] */ public function result() { return $this->result; } } $calc = new Calc; echo $calc ->add(1) ->add(2) ->sub(1) ->add(11) ->result();</code>
Der entscheidende Punkt ist jede Methode <code>return $this;</code>
Sie können mehr über die Prinzipien des MVC-Modells erfahren.
Dann werfen wir einen Blick auf die Klassenkapselung.
M('Test') entspricht tatsächlich der Definition einer TestModel-Klasse.
M('Test')->where() ruft die where-Methode in der Klasse auf.
Die Hauptschwierigkeit liegt in der Implementierung des MVC-Modells.
Dies ist ein Tutorial zur MVC-Modellimplementierung, Sie können es sich ansehen.
https://www.shiyanlou.com/cou...
Kettenaufruf, $ zurückgeben, das ist in Ordnung, Sie können auf verschiedene ORM-Frameworks verweisen
Ist es eine Kettenoperation? Jedes Mal, wenn ein Objekt zurückgegeben wird
Kettenoperation, Rückgabe von $this, Methodenaufruf
Kettenbetrieb
<code>return $this;</code>
Alle oben genannten haben Recht. Ich werde eine Verbindung herstellen.
<code>http://blog.csdn.net/zhengwish/article/details/51742880</code>
Verkettete Aufrufe geben jedes Mal Objekte zurück