Menu
Coddy logo textTech

$this Anahtar Sözcüğü

Coddy'nin PHP Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 4 / 91.

$this anahtar sözcüğü, bir sınıfın yöntemleri içindeki geçerli örneğini ifade eder. Geçerli nesnenin özelliklerine erişmenize ve bunları değiştirmenize olanak tanır.

İşte $this kullanan yöntemlere sahip bir sınıf örneği:

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

$this anahtar sözcüğü, yöntemi çağıran nesneye başvurmak için yöntemlerin içinde kullanılır.

Bir car nesnesi oluşturun ve özelliklerini ayarlayın:

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

Şimdi metotları çağırın:

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

Çıktı:

Beep beep!
I am a Red Sedan

$myCar->describe() çağrıldığında PHP, $this değerini otomatik olarak $myCar nesnesine başvuracak şekilde ayarlar. Yöntem, hangi nesnenin özelliklerine erişeceğini bu şekilde bilir.

Başka bir car nesneniz olsaydı:

$otherCar = new Car();
$otherCar->color = "Blue";
$otherCar->model = "SUV";
$otherCar->describe(); // Ben bir Blue SUV'yum

Temel Nokta: $this her zaman yöntemi çağıran belirli nesneyi ifade eder. Bir yöntem çalıştığında her nesne kendi bağlamına sahip olur.

challenge icon

Görev

Kolay

Car sınıfını, $this anahtar sözcüğünü kullanarak arabanın yılını, markasını ve modelini şu biçimde yazdıran displayInfo adlı bir yöntem ekleyerek car.php içinde tamamlayın:

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

  • car.php: displayInfo yöntemini ekleyeceğiniz Car sınıfı tanımını içerir
  • driver.php: Car sınıfını içe aktaran ve kullanan ana çalıştırma dosyası (kilitli)

Kendin dene

<?php
require_once 'car.php';

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

$myCar->displayInfo();
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online PHP derleyicisi