Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen dem Doppelpunkt-Bereichsanalyseoperator und dem Pfeil ->-Operator in PHP

Der Unterschied zwischen dem Doppelpunkt-Bereichsanalyseoperator und dem Pfeil ->-Operator in PHP

黄舟
黄舟Original
2017-07-02 11:48:513610Durchsuche

Doppelte Doppelpunkte werden im Allgemeinen in Aufrufen von statischenMethoden und statischenVariablen verwendet. Zu diesem Zeitpunkt muss die Klasse nicht instanziiert werden. Stattdessen muss bei Verwendung des Pfeiloperators - > die Klasse instanziiert werden (oder sie kann innerhalb der Klasse aufgerufen werden).

Der Doppelpunkt (::) ist ein Positionszugriffssymbol . Damit sind nicht nur statische Methoden und Variablen gemeint. Das bedeutet, dass das Ding auf der linken Seite des Dickdarms das Ding auf der rechten Seite des Dickdarms anruft. So eine Bedeutung. Also. . $self kann nicht auf der linken Seite geschrieben werden. Da $self zuerst analysiert wird, zeigt es auf sich selbst, sofern die Variable $self nicht zuvor definiert wurde.
In der neuesten PHP-Version. Der Doppelpunkt wird genau für diese Funktion verwendet. . Kann ersetzt werden – > Rufen Sie das -Objekt auf, um die Variable abzurufen. Weil es ein Positionsindikator ist. .

dient dazu, die Methoden und Attribute des Objekts zu unterscheiden, und die Eigenschaften sind für jedes Objekt spezifisch und müssen daher zuerst instanziiert werden. Das Gleiche gilt für andere Sprachen wie C++, JAVA usw. (Natürlich können die von ihnen bereitgestellten Zugriffssymbole unterschiedlich sein)

- > besteht darin, auf die statischen Methoden und statischen Variablen der Klasse zuzugreifen

->Objektzugriff und ::Standortzugriff

Jeder hat es schon einmal über den theoretischen Teil gesagt, und sie haben tatsächlich Recht. Aber PHP ist etwas anders.
In der Standardkonfiguration gelten für PHP keine strengen Anforderungen: Die statische Methode muss aufgerufen werden
Sie können dies herausfinden, indem Sie den folgenden Code testen

class t{
    public $v = 1;
    public function getVar(){
        return 1;//$this->v;
    }
}

class xxxxx
{
public function actionIndex()
    {
$x = t::getVar();
        $t = new t();
        $x = $t->getVar();
    }
}


作者:楚天乐
链接:https://www.zhihu.com/question/19782824/answer/35943595
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen dem Doppelpunkt-Bereichsanalyseoperator und dem Pfeil ->-Operator in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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