📘 Chapitre – Créer des classes et objets simples

1. 🎯 Objectif pédagogique

Comprendre les notions de classe et objet en PHP et être capable de créer des classes simples avec des propriétés et des méthodes.

2. 📚 Concepts abordés

  • Qu’est-ce qu’une classe ? Qu’est-ce qu’un objet ?
  • Propriétés (attributs) et méthodes
  • Le mot-clé class et la création d’une instance avec new
  • Accès aux propriétés et méthodes via ->
  • Différence entre fonction et méthode

3. 🧠 Explication théorique

Une classe est un modèle, un plan de construction qui définit les propriétés (données) et méthodes (fonctions) d’un objet. Un objet est une instance de cette classe.

Exemple simple :

class Voiture {
    public $marque;
    public $couleur;

    public function demarrer() {
        return "La voiture démarre.";
    }
}

// Instanciation d'un objet
$maVoiture = new Voiture();
$maVoiture->marque = "Toyota";
echo $maVoiture->demarrer();

Dans cet exemple, Voiture est la classe, et $maVoiture est l’objet.

4. 🛠 Tutoriel pratique

Résumé du travail : Créer une classe Article avec des propriétés et une méthode pour afficher ses informations.

Arborescence projet :

projet_poo/
 └── article.php

Étape 1 : Définir la classe

<?php
class Article {
    public $titre;
    public $contenu;

    public function afficher() {
        return "Titre : " . $this->titre . " - Contenu : " . $this->contenu;
    }
}

Étape 2 : Créer un objet et définir ses propriétés

$article1 = new Article();
$article1->titre = "Introduction à PHP";
$article1->contenu = "PHP est un langage de script côté serveur.";

echo $article1->afficher();

Étape 3 : Créer plusieurs objets

$article2 = new Article();
$article2->titre = "Programmation orientée objet";
$article2->contenu = "La POO facilite la modularité et la maintenance.";

echo "<br>" . $article2->afficher();

5. 🧾 Résumé et points-clés

  • Une classe est un modèle définissant des propriétés et des méthodes.
  • Un objet est une instance de la classe créée avec new.
  • Les propriétés se définissent avec $this->propriete dans les méthodes.
  • L’encapsulation (visibilité public, private, protected) sera approfondie dans les chapitres suivants.