Wann würden Sie die $this-Schlüsselwort in PHP?
Als würden Sie die $this
keyword in PHP? Was ich verstehen $this
bezieht sich auf das Objekt erstellt, ohne dass die Objekte Namen.
Auch das Stichwort $this
kann nur innerhalb einer Methode?
Ein Beispiel wäre toll, um zu zeigen,, wenn Sie verwenden können $this
.
- php.net/OOP -> Die Grundlagen.
- Beachten Sie insbesondere Beispiel #2 hier: php.net/manual/en/language.oop5.basic.php
$this
ist nicht ein keyword in PHP (aber eine pseudo-variable), so dass Ihre Frage nicht beantwortet werden können.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer Klasse enthalten können Ihre eigenen Konstanten, Variablen ("Eigenschaften" genannt) und Funktionen (die sogenannten "Methoden").
Einige Beispiele für die $diese pseudo-variable:
Dem obigen Beispiel wird ausgegeben:
Der häufigste Anwendungsfall ist in der Objekt-Orientierten Programmierung, bei der Festlegung der Arbeitsbedingungen oder innerhalb einer Klasse. Zum Beispiel:
Wie Sie sehen können, innerhalb des
run
Funktion, können wir die$this
Variablen beziehen sich auf die Instanz des Pferdes-Klasse, wir sind "in". So die andere Sache im Auge zu behalten ist, dass, wenn Sie 2 Horse-Klassen, die$this
variable innerhalb jeder wird finden, dass bestimmte Instanz des Pferdes-Klasse, nicht auf die beiden.Würden Sie nur $this, wenn Sie tun, objektorientierte Programmierung in PHP. Das heißt, wenn Sie Klassen anlegen. Hier ist ein Beispiel:
$this ist eine Referenz auf die aktuelle Instanz eines Objekts.
So können Sie Sachen wie tun:
Auch eine weitere Coole Verwendung ist, dass Sie-chain-Methoden:
Es ist in der objektorientierten Programmierung (OOP):
Benutzt, wenn Sie möchten, arbeiten Sie mit lokalen Variablen.
Können Sie auch mehr über es von hier.
Einer Zeit ich weiß, dass ich am Ende mit der
this
äquivalent in anderen Sprachen zu implementieren, die eine "Fließende" Oberfläche; jede Methode der Klasse, die sonst zurückvoid
stattdessen gibtthis
, so dass Methodenaufrufe können problemlos miteinander verkettet.Die oben genannt werden könnte, zum Beispiel so:
Die nützlich sein können für einige Dinge.
myObject->DoThis()->DoThat()
;-)?$this wird verwendet, wenn Sie erstellt eine neue Instanz eines Objekts.
Zum Beispiel: Stell dir vor,
Werden, um Zugriff auf die Methode getHello, ich habe zum erstellen einer neuen Instanz der Klasse Test, wie diese :
In der Tat, $this ist innerhalb der Klasse, wenn instancied. Es ist verwiesen als Umfang.
Innen Ihrer Klasse, die Sie verwenden $this (für den Zugriff auf *$_hello* zum Beispiel), aber außerhalb der Klasse, $this bezieht sich NICHT auf die Elemente innerhalb Ihrer Klasse (etwa *$_hello*), es ist $obj, dass nicht.
Nun, der größte Unterschied zwischen $obj und $this ist seit $obj Zugriff auf die eigene Klasse von der außerhalb, einige Einschränkungen passiert : wenn du etwas definierst private oder geschützt in Ihrer Klasse, wie meine variable *$_hello*, $obj NICHT darauf zugreifen (es ist privat!) aber $this kann, becase $diese lassen in der Klasse.
Nein, ich denke, die ur-Idee ist falsch..
$this
wird verwendet, wenn bezieht sich auf ein Objekt der gleichen Klasse.. sodenke, wir haben eine variable mit dem Wert $var und in , DASS Instanz des Objekts sollte auf 5
$this->var=5;
Die Verwendung von $this ist die Referenz-Methoden oder Instanz-Variablen gehören zu dem aktuellen Objekt
$this->name = $name
oder
$dies->callSomeMethod()
das ist zu gehen verwenden Sie die variable oder Methode implementiert, die das aktuelle Objekt untergeordnet oder nicht.
Wenn Sie möchten, um gezielt aufrufen eine Implementierung der übergeordneten Klasse, Sie möchte etwas tun, wie
parent::callSomeMethod()