Was heißt "$this" in PHP?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Sofern du dich nicht mit objektorientierter Programmierung auskennst wird es vermutlich schwer dir diese Frage zu beantworten.

Vielleicht die Idee dahinter: Eine Klasse ist ein "Konstrukt" welches aus Attributen (Werten) und Methoden (Funktionen) besteht. Beispiel: Die Klasse "Auto" hat das Attribut "Farbe" und die Funktion "losFahren()" und "stoppen()".
Nun kann es mehrere Objekte dieser Klasse geben. Also ein rotes und ein blaues Auto. Beide gehören zur Klasse Auto (haben eine Farbe, können losFahren und stoppen), sind aber in sich verschieden (andere Farbe).
Wenn ich nun in meiner Klasse (die ich per PHP definiere) auf den Wert "Farbe" zugreifen möchte möchte ich ja explizit nur für das EINE Objekt welches ich gerade ausgewählt habe (zum Beispiel das Objekt "blaues Auto") die Farbe auch grün ändern. Um in PHP auf das Objekt selbst zu verweisen verwendet man das "$this".
[Fachlich etwas ungenau aber hoffentlich anschaulich]

$this ist eine Variable. Allerdings eine besondere. Nicht du füllst sie, sondern PHP, und sie zeigt dann auf ein Objekt. Auf welches Objekt sie zeigt ist kontextabhängig. Oder genauer gesagt davon, wo $this im Code steht: Es bezieht sich immer auf ein Objekt von der Klasse, in der es steht.

$this ist eine Referenz auf das Objekt, zu welchem die Methode gehört, in der es verwendet wird. Mittels $this kann man auf Methoden und Eigenschaften des gleichen Objekts zugreifen. Das nächste mal Bitte selber Google benutzten...


User723741 
Beitragsersteller
 23.08.2015, 01:22

Danke 1 zu 1 aus Google kopiert. Ich habs ja hier hingeschrieben weil ich es nich verstehe, dafür ist die seite nicht gedacht

0
EightSix  23.08.2015, 11:37
@User723741

Wenn du nicht weißt was Objekte und Referenzen auf dieselbigen sind dann würde eine Erklärung hier sowieso den Rahmen sprengen.

0
RexonDE  23.08.2015, 01:25

Dann ließ dich doch ein bisschen ein oder Kauf dir Bücher, schau dir Tutorials an etc...

0