Menu
Coddy logo textTech

Słowo kluczowe $this

Część sekcji Programowanie obiektowe ścieżki PHP w Coddy. Lekcja 4 z 91.

Słowo kluczowe $this odnosi się do bieżącej instancji klasy w jej metodach. Umożliwia dostęp do właściwości bieżącego obiektu i ich modyfikowanie.

Oto przykład klasy z metodami używającymi $this:

<?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";
    }
}

Słowo kluczowe $this jest używane wewnątrz metod, aby odwoływać się do obiektu, który wywołał daną metodę.

Utwórz obiekt samochodu i ustaw właściwości:

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

Teraz wywołaj metody:

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

Wynik:

Beep beep!
I am a Red Sedan

Gdy wywołujesz $myCar->describe(), PHP automatycznie ustawia $this, aby odnosił się do $myCar. Dzięki temu metoda wie, do których właściwości obiektu uzyskać dostęp.

Gdybyś miał inny obiekt samochodu:

$otherCar = new Car();
$otherCar->color = "Blue";
$otherCar->model = "SUV";
$otherCar->describe(); // Jestem niebieskim SUV-em

Kluczowa kwestia: $this zawsze odnosi się do konkretnego obiektu, który wywołał metodę. Każdy obiekt ma własny kontekst podczas wykonywania metody.

challenge icon

Wyzwanie

Łatwy

Uzupełnij klasę Car w pliku car.php, dodając metodę o nazwie displayInfo, która używa słowa kluczowego $this, aby wyświetlić rok, markę i model samochodu w formacie:

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

  • car.php: zawiera definicję klasy Car, do której dodasz metodę displayInfo
  • driver.php: główny plik wykonywalny, który importuje i używa klasy Car (zablokowany)

Spróbuj swoich sił

<?php
require_once 'car.php';

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

$myCar->displayInfo();
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator PHP online