Menu
Coddy logo textTech

Das $this-Schlüsselwort

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

Das Schlüsselwort $this bezieht sich auf die aktuelle Instanz einer Klasse innerhalb ihrer Methoden. Es ermöglicht Ihnen, auf Eigenschaften des aktuellen Objekts zuzugreifen und diese 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.

Erstellen Sie ein Car-Objekt und legen Sie Eigenschaften fest:

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

Rufen Sie jetzt die Methoden auf:

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

Ausgabe:

Beep beep!
I am a Red Sedan

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

Wenn Sie ein weiteres Auto-Objekt hätten:

$otherCar = new Car();
$otherCar->color = "Blue";
$otherCar->model = "SUV";
$otherCar->describe(); // Ich bin ein Blue 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ändigen Sie die Klasse Car in car.php, indem Sie eine Methode namens displayInfo hinzufügen, die das Schlüsselwort $this verwendet, um das Jahr, die Marke und das Modell des Autos in folgendem Format auszugeben:

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

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

Spickzettel

Das Schlüsselwort $this bezieht sich auf die aktuelle Instanz einer Klasse innerhalb ihrer Methoden und ermöglicht es Ihnen, auf Eigenschaften des aktuellen Objekts zuzugreifen und diese zu ändern.

Verwendung von $this in einer Klasse:

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

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

Erstellen eines Objekts und Aufrufen von Methoden:

$myCar = new Car();
$myCar->color = "Red";
$myCar->model = "Sedan";
$myCar->describe(); // I am a Red Sedan

Wenn Sie $myCar->describe() aufrufen, setzt PHP $this automatisch so, dass es sich auf $myCar bezieht. Jedes Objekt erhält seinen eigenen Kontext, wenn eine Methode ausgeführt wird, sodass sich $this immer auf das spezifische Objekt bezieht, das die Methode aufgerufen hat.

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