Was macht $this?
Lars
- php
0 Thomas Luethi0 Lars
Tach,
ich sehe in vielen PHP Skripten die Variable $this, die scheinbar zu PHP gehört, aber ich finde nirgendwo eine Beschreibung wozu die gut ist.
Kann mir vielleicht jemand anschaulich und verständlich erklären was diese Variable macht, wwozu sie gut ist und wann man sie verwenden sollte?
Danke euer Lars
Hallo,
ich sehe in vielen PHP Skripten die Variable $this [...]
Das ist wohl im Zusammenhang mit Klassen und Objekten.
http://www.dclp-faq.de/ch/ch-objects.html
http://www.php.net/manual/de/language.oop.php
http://www.php.net/manual/de/ref.classobj.php
HTH, Gruesse,
Thomas
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?
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