Moin!
Also wenn ich das jetzt richtig verstanden habe, benutze ich $this um aus einer Funktion einer Klasse, eine Variable einer Klasse aufzurufen.
Stimmt das so in etwa?
Nein.
Innerhalb einer Klasse mein $this die Instanz dieser Klasse.
Mal als Beispiel:
$instanz1 = new Klasse;
$instanz2 = new Klasse;
Instanzen erzeugen.
Von außerhalb der Klasse kannst du auf Eigenschaften und Methoden so zugreifen:
$instanz1->methode1();
$instanz2->methode1();
echo $instanz2->eigenschaft1;
Innerhalb von Methoden der Klasse kannst du mittels $this auf die Eigenschaften und Methoden dieser Instanz zugreifen.
$this->methode1();
$this->eigenschaft1 = 12;
Das ist dasselbe, als wenn du in Instanz $instanz1 jeweils $instanz1->methode1() und $instanz1->eigenschaft1 verwendest, und in $instanz2 jeweils $instanz2->methode1 und $instanz2->eigenschaft1. Programmiert sich nur doof, wenn man solch eine Fallunterscheidung vornehmen müßte, deshalb gibt es $this, das ist immer korrekt für "die Methode oder Eigenschaft der gerade verwendeten Instanz".
- Sven Rautenberg
"Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)