Menu
Coddy logo textTech

Le mot-clé $this

Fait partie de la section Programmation Orientée Objet du Journey PHP de Coddy — leçon 4 sur 91.

Le mot-clé $this fait référence à l'instance actuelle d'une classe à l'intérieur de ses méthodes. Il vous permet d'accéder aux propriétés de l'objet actuel et de les modifier.

Voici un exemple de classe avec des méthodes utilisant $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";
    }
}

Le mot-clé $this est utilisé à l'intérieur des méthodes pour faire référence à l'objet qui a appelé la méthode.

Créez un objet voiture et définissez ses propriétés :

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

Maintenant, appelez les méthodes :

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

Sortie :

Beep beep!
I am a Red Sedan

Lorsque vous appelez $myCar->describe(), PHP définit automatiquement $this pour faire référence à $myCar. C'est ainsi que la méthode sait à quelles propriétés d'objet accéder.

Si vous aviez un autre objet voiture :

$otherCar = new Car();
$otherCar->color = "Blue";
$otherCar->model = "SUV";
$otherCar->describe(); // Je suis une Blue SUV

Point clé : $this fait toujours référence à l'objet spécifique qui a appelé la méthode. Chaque objet obtient son propre contexte lorsqu'une méthode est exécutée.

challenge icon

Défi

Facile

Complétez la classe Car dans car.php en ajoutant une méthode appelée displayInfo qui utilise le mot-clé $this pour afficher l'année, la marque et le modèle de la voiture au format :

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

  • car.php : Contient la définition de la classe Car où vous ajouterez la méthode displayInfo
  • driver.php : Fichier d'exécution principal qui importe et utilise la classe Car (verrouillé)

Aide-mémoire

Le mot-clé $this fait référence à l'instance actuelle d'une classe au sein de ses méthodes, vous permettant d'accéder et de modifier les propriétés de l'objet actuel.

Utilisation de $this dans une classe :

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

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

Création d'un objet et appel de méthodes :

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

Lorsque vous appelez $myCar->describe(), PHP définit automatiquement $this pour qu'il se réfère à $myCar. Chaque objet possède son propre contexte lorsqu'une méthode est exécutée, ainsi $this se réfère toujours à l'objet spécifique qui a appelé la méthode.

Essayez vous-même

<?php
require_once 'car.php';

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

$myCar->displayInfo();
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Programmation Orientée Objet