Menu
Coddy logo textTech

La parola chiave $this

Fa parte della sezione Programmazione orientata agli oggetti del percorso PHP di Coddy. Lezione 4 di 91.

La parola chiave $this fa riferimento all’istanza corrente di una classe all’interno dei suoi metodi. Ti consente di accedere alle proprietà dell’oggetto corrente e di modificarle.

Ecco un esempio di una classe con metodi che utilizzano $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";
    }
}

La parola chiave $this viene usata all'interno dei metodi per fare riferimento all'oggetto che ha chiamato il metodo.

Crea un oggetto auto e imposta le proprietà:

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

Ora chiama i metodi:

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

Output:

Beep beep!
I am a Red Sedan

Quando chiami $myCar->describe(), PHP imposta automaticamente $this per fare riferimento a $myCar. È così che il metodo sa a quali proprietà dell'oggetto accedere.

Se avessi un altro oggetto auto:

$otherCar = new Car();
$otherCar->color = "Blue";
$otherCar->model = "SUV";
$otherCar->describe(); // Sono un SUV blu

Punto chiave: $this si riferisce sempre all'oggetto specifico che ha chiamato il metodo. Ogni oggetto ha il proprio contesto quando viene eseguito un metodo.

challenge icon

Sfida

Facile

Completa la classe Car in car.php aggiungendo un metodo chiamato displayInfo che usa la parola chiave $this per stampare l'anno, la marca e il modello dell'auto nel formato:

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

  • car.php: contiene la definizione della classe Car, a cui aggiungerai il metodo displayInfo
  • driver.php: file di esecuzione principale che importa e usa la classe Car (bloccato)

Provalo tu

<?php
require_once 'car.php';

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

$myCar->displayInfo();
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore PHP online