Menu
Coddy logo textTech

Das Schlüsselwort $this

Teil des Abschnitts Objektorientierte Programmierung der PHP-Journey von Coddy. Lektion 4 von 91.

Das Schlüsselwort $this verweist innerhalb seiner Methoden auf die aktuelle Instanz einer Klasse. Es ermöglicht dir, auf die Eigenschaften des aktuellen Objekts zuzugreifen und sie zu ändern.

Hier ist ein Beispiel für eine Klasse mit Methoden, die $this verwenden:

<?php
class Car {
    public $color;
    public $model;

    public function honk() {
        echo "Beep beep!\n";
    }

    public function describe() {
        echo "I am a " . $this->color . " " . $this->model . "\n";
    }
}

Das Schlüsselwort $this wird innerhalb von Methoden verwendet, um auf das Objekt zu verweisen, das die Methode aufgerufen hat.

Erstelle ein car-Objekt und lege Eigenschaften fest:

$myCar = new Car();
$myCar->color = "Red";
$myCar->model = "Sedan";

Rufe nun die Methoden auf:

$myCar->honk();
$myCar->describe();

Ausgabe:

Beep beep!
I am a Red Sedan

Wenn du $myCar->describe() aufrufst, setzt PHP $this automatisch so, dass es auf $myCar verweist. So weiß die Methode, auf die Eigenschaften welches Objekts sie zugreifen soll.

Wenn du ein weiteres car-Objekt hättest:

$otherCar = new Car();
$otherCar->color = "Blue";
$otherCar->model = "SUV";
$otherCar->describe(); // Ich bin ein blauer SUV

Wichtiger Punkt: $this bezieht sich immer auf das spezifische Objekt, das die Methode aufgerufen hat. Jedes Objekt erhält seinen eigenen Kontext, wenn eine Methode ausgeführt wird.

challenge icon

Aufgabe

Einfach

Vervollständige die Klasse Car in car.php, indem du eine Methode namens displayInfo hinzufügst, die das Schlüsselwort $this verwendet, um das Jahr, die Marke und das Modell des Autos im folgenden Format auszugeben:

"This car is a [year] [make] [model]"

  • car.php: Enthält die Definition der Klasse Car, in der du die Methode displayInfo hinzufügst
  • driver.php: Hauptausführungsdatei, die die Klasse Car importiert und verwendet (gesperrt)

Probier es selbst

<?php
require_once 'car.php';

$myCar = new Car();
$myCar->year = 2020;
$myCar->make = "Toyota";
$myCar->model = "Corolla";

$myCar->displayInfo();
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-PHP-Compiler