Menu
Coddy logo textTech

Propriétés

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

Les propriétés sont des variables qui appartiennent à une classe. Elles stockent des informations sur l'état de l'objet. En PHP, les propriétés doivent être déclarées à l'intérieur de la classe en utilisant un mot-clé de visibilité comme public.

Les propriétés peuvent avoir des valeurs par défaut qui sont partagées par tous les objets :

<?php
class Student {
    public $school = "PHP Academy";  // valeur par défaut
    public $name;
    public $age;
}

Les propriétés sans valeur par défaut valent initialement null jusqu'à ce que vous les définissiez.

Vous pouvez définir les valeurs des propriétés à l'aide d'une méthode et $this :

class Student {
    public $school = "PHP Academy";
    public $name;
    public $age;

    public function setInfo($name, $age) {
        $this->name = $name;    // définir les données de l'instance
        $this->age = $age;      // définir les données de l'instance
    }
}

Créez des objets étudiants et définissez leurs données individuelles :

$student1 = new Student();
$student2 = new Student();

$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);

Accédez aux propriétés :

echo $student1->name . "\n";          // Alice
echo $student2->name . "\n";          // Bob
echo $student1->school . "\n";        // PHP Academy
echo $student2->school . "\n";        // PHP Academy

Sortie :

Alice
Bob
PHP Academy
PHP Academy

Différence clé : Les propriétés avec des valeurs par défaut (comme $school) commencent avec la même valeur pour chaque objet. Les propriétés définies via des méthodes (comme $name et $age) sont uniques à chaque objet.

challenge icon

Défi

Facile

Complétez la classe Student dans student.php :

  1. Déclarez une propriété $school avec la valeur par défaut "PHP Academy"
  2. Déclarez les propriétés $name et $age (pas de valeurs par défaut)
  3. Ajoutez une méthode setInfo qui prend les paramètres $name et $age et les définit en utilisant $this

Le fichier driver.php testera votre classe en créant deux étudiants et en affichant leurs informations.

Aide-mémoire

Les propriétés sont des variables qui appartiennent à une classe et stockent des informations sur l'état de l'objet. Elles doivent être déclarées à l'intérieur de la classe en utilisant un mot-clé de visibilité comme public.

Les propriétés peuvent avoir des valeurs par défaut partagées par tous les objets :

<?php
class Student {
    public $school = "PHP Academy";  // valeur par défaut
    public $name;
    public $age;
}

Les propriétés sans valeur par défaut commencent par null jusqu'à ce qu'elles soient définies.

Utilisez des méthodes et $this pour définir les valeurs des propriétés :

class Student {
    public $school = "PHP Academy";
    public $name;
    public $age;

    public function setInfo($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
}

Créez des objets et définissez des données individuelles :

$student1 = new Student();
$student1->setInfo("Alice", 20);

echo $student1->name;    // Alice
echo $student1->school;  // PHP Academy

Les propriétés avec des valeurs par défaut commencent de la même manière pour chaque objet. Les propriétés définies via des méthodes sont uniques à chaque objet.

Essayez vous-même

<?php
require_once 'student.php';

$student1 = new Student();
$student2 = new Student();

$student1->setInfo("Alice", 20);
$student2->setInfo("Bob", 22);

echo $student1->name . " is " . $student1->age . " at " . $student1->school . "\n";
echo $student2->name . " is " . $student2->age . " at " . $student2->school . "\n";
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