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

PHP-Framework – ein Tipp zum PHP-Klassenaufruf

WBOY
Freigeben: 2023-03-03 08:18:01
Original
1019 Leute haben es durchsucht

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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

Alle oben genannten haben Recht. Ich werde eine Verbindung herstellen.

<code>http://blog.csdn.net/zhengwish/article/details/51742880</code>
Nach dem Login kopieren

Verkettete Aufrufe geben jedes Mal Objekte zurück

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage