Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Framework – ein Tipp zum PHP-Klassenaufruf

PHP-Framework – ein Tipp zum PHP-Klassenaufruf

WBOY
WBOYOriginal
2016-12-05 13:44:08965Durchsuche

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?

Antwortinhalt:

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn