
$this en PHP expliqué simplement
Short ansehenDer YouTube-Kanal von Gekkode veröffentlicht weitere Videos über KI und Code.
Abonnieren und den Kanal unterstützenEinleitung
$this gehört zum Wichtigsten und Nützlichsten in der objektorientierten Programmierung mit PHP (OOP, Object Oriented Programming). Und leider auch zu dem, was am ehesten übergangen wird. Viele haben von dem Schlüsselwort gehört, ohne je zu wissen, wie sie es einsetzen sollen.
In diesem Artikel erkläre ich kurz, was $this ist und wie es funktioniert. Wenn dir OOP noch gar nichts sagt, sieh dir am besten zuerst die Grundlagen an, damit dieser Artikel mehr hergibt.
Was ist $this und wie funktioniert es?
Das Schlüsselwort $this gibt uns Zugriff auf die Methoden und Eigenschaften unserer Klasse. Wir können also von innerhalb der aktuellen Klasse eine Methode aufrufen oder eine Eigenschaft lesen.
Legen wir als Beispiel eine einfache Klasse namens Dog an. Sie begleitet uns durch die nächsten Beispiele dieses Beitrags.
class Dog {
public $name;
public $age;
}
Um eine Eigenschaft unserer Klasse zu lesen, verwenden wir $this so:
$this->name
Das Beispiel oben zeigt lediglich, wie das Schlüsselwort korrekt benutzt wird. Achte darauf, dass nach dem Pfeil das $ wegfällt und nur noch name steht, obwohl die Eigenschaft als $name deklariert ist. Das ist es wert, sich zu merken, sonst rätselst du eine Weile, warum dein Code nicht läuft.
Das Schlüsselwort $this und Methoden
Jetzt setzen wir $this in einer Methode unserer Klasse ein:
class Dog {
public $name;
public $age;
public function intro(){
echo 'Voici ' .$this -> name . ' et il a ' .$this -> age . 'ans.';
}
}
Damit unsere Funktion läuft, erzeugen wir selbst ein Objekt der Klasse, setzen die Werte der Eigenschaften und rufen dann die öffentliche Methode auf:
<?php
// Instanziieren
$blacky = new Dog();
// Die Eigenschaft name hinzufügen
$blacky->name = 'Toffee';
// Die Eigenschaft age hinzufügen
$blacky->age = '2 months';
Und zum Schluss rufen wir unsere Funktion auf.
echo $blacky->intro();
Damit haben wir die Eigenschaften der Klasse in unsere Funktion geholt. Die Ausgabe sieht ungefähr so aus:
C’est Toffee et il a 2 mois.
Mit $this können wir auch aus einer Methode heraus eine andere Methode derselben Klasse aufrufen. Hier ein kurzes Beispiel mit einer neuen Klasse, in der eine Methode über $this die andere aufruft.
class Man{
public $name;
public function say(){
echo 'Bonjour ' . $this->name;
}
public function hello(){
$this->say;
}
}
Jetzt erzeugen wir unser Objekt, setzen die Werte und geben die Funktion zurück.
// Das Objekt instanziieren
$john = new Man();
// Den Namen hinzufügen
$john->name ='john';
// Die Methode hello() aufrufen
echo $john->hello();
Das Ergebnis sollte lauten
Bonjour John
So verwendest du $this in einer Methode und rufst damit eine andere Methode derselben Klasse auf.
Fazit
Alles in allem ist das ziemlich praktisch. Es dauert natürlich einen Moment, bis es einem in Fleisch und Blut übergeht, aber sobald du den Dreh raushast, benutzt du es rund um die Uhr.



