📋 Plan du Cours
- Classe PHP Livre
- Objets et instanciation
- Propriétés et attributs
- Méthodes et comportements
- Utilisation de $this
- Classe PHP Emprunteur
- Gestion de disponibilité
- Modélisation entité métier
- Bonne pratique en POO
- Exercices pratiques PHP
📖 1. Classe PHP Livre
🔑 Notions clés & Définitions
- Classe : Modèle abstrait ou plan décrivant une entité du domaine, indiquant ses propriétés et comportements. En PHP, déclarée avec le mot-clé
class (voir section 1). AUTEUR (date) : "La classe est le modèle. L’objet est une réalisation concrète de ce modèle."
- Propriétés : Variables déclarées dans une classe représentant l’état ou les caractéristiques d’un objet. Dans la classe Livre, ce sont
titre, auteur, nbPages, disponible. AUTEUR (date) : "Les propriétés représentent l’état d’un objet."
- Méthodes : Fonctions définies dans une classe, représentant les actions ou comportements que l’objet peut réaliser, comme
afficherFiche(), emprunter(), retourner(). AUTEUR (date) : "Les méthodes sont des actions que l’objet peut exécuter."
- Objet : Instance concrète d’une classe, créée en mémoire à partir du modèle, avec des valeurs spécifiques pour ses propriétés. En PHP, créé avec
new (voir section 1). AUTEUR (date) : "L’objet est une réalisation concrète, créée en mémoire, à partir du modèle défini par la classe."
- Syntaxe PHP : La déclaration d’une classe se fait avec le mot-clé
class. Exemple : class Livre { ... }. AUTEUR (date) : "En PHP, une classe se déclare à l’aide du mot-clé class."
- Distinction fondamentale : La classe est un modèle abstrait, tandis que l’objet est une instance concrète qui en dérive, avec ses propres valeurs. La classe ne représente pas une entité concrète, mais une description. AUTEUR (date) : "La classe est le modèle. L’objet est une réalisation concrète de ce modèle."
📝 Points essentiels
- La classe
Livre sert de modèle décrivant ce qu’un livre doit contenir et faire : propriétés (titre, auteur, nbPages, disponible) et méthodes (afficherFiche(), emprunter(), retourner()).
- La déclaration en PHP s’effectue avec
class Livre { ... }. Aucun livre concret n’existe encore dans le programme à ce stade, seule la forme générale est définie.
- La création d’un objet
Livre concret se fait avec new Livre(), par exemple $livre1 = new Livre();.
- La distinction entre classe (modèle) et objet (instance concrète) est fondamentale pour éviter les confusions. La classe définit le cadre, l’objet est une réalisation spécifique.
- La propriété
disponible indique si le livre peut être emprunté ou non, et ses méthodes emprunter() et retourner() modifient cette propriété pour refléter l’état actuel.
- La méthode
afficherFiche() permet de produire une description textuelle de l’état de l’objet, combinant ses propriétés.
💡 À retenir
La classe PHP Livre est un modèle abstrait qui définit la structure et le comportement attendus d’un livre dans le programme, tandis qu’un objet concret représente un livre précis avec ses valeurs propres.
📖 2. Objets et instanciation
🔑 Notions clés & Définitions
- Classe (voir section 1) : Modèle ou plan abstrait qui décrit la structure et le comportement qu’auront ses objets. Elle ne représente pas une entité concrète, mais définit ce que doivent contenir et faire les objets issus de cette classe.
- Objet (voir section 1) : Instance concrète d’une classe, créée en mémoire à partir du modèle défini par cette classe. Il possède ses propres valeurs pour les propriétés et peut exécuter ses méthodes.
- Processus d’instanciation (voir section 1) : Opération permettant de créer un objet à partir d’une classe en utilisant le mot-clé
new en PHP. Elle réalise la mise en mémoire de l’objet selon la structure définie par la classe.
- Exemple d’objet Livre : Un objet concret représentant un livre précis avec des valeurs spécifiques, par exemple :
$livre1 = new Livre(); avec ses propriétés telles que titre, auteur, nbPages, disponible.
- Opérateur → (voir section 4) : Opérateur en PHP utilisé pour accéder aux membres (propriétés ou méthodes) d’un objet. Par exemple,
$livre->afficherFiche() appelle la méthode afficherFiche() de l’objet $livre.
📝 Points essentiels
- La classe sert de modèle pour créer des objets concrets, qui sont des réalisations spécifiques de cette classe.
- La création d’un objet en PHP se fait avec
new, par exemple : $livre1 = new Livre();. Cela réalise l’instanciation, c’est-à-dire la mise en mémoire et l’initialisation de l’objet selon la structure définie par la classe.
- Un objet possède ses propres valeurs dans ses propriétés, même s’il appartient à la même classe qu’un autre objet. Par exemple, deux livres peuvent avoir le même modèle mais des titres ou auteurs différents.
- L’opérateur → permet d’accéder aux membres d’un objet, comme ses propriétés ou ses méthodes. Par exemple :
$livre->afficherFiche().
💡 À retenir
Un objet est une réalisation concrète d’une classe, créée par instanciation avec new, et possède ses propres données accessibles via l’opérateur →. La distinction entre classe (modèle) et objet (instance) est fondamentale en programmation orientée objet.
📖 3. Propriétés et attributs
🔑 Notions clés & Définitions
- Attribut (modélisation) : Caractéristique ou donnée décrite dans une classe, représentant une propriété intrinsèque d’une entité métier. Par exemple, dans la modélisation d’un livre, l’attribut peut être le titre ou l’auteur.
- Propriété (PHP) : Variable déclarée dans une classe, qui stocke une donnée spécifique à chaque objet créé à partir de cette classe. Par exemple,
$titre, $auteur sont des propriétés en PHP.
- État d’un objet : Ensemble des valeurs actuelles de ses propriétés, représentant la situation ou la configuration concrète de l’objet à un instant donné. Par exemple, pour un livre : titre = "1984", auteur = "George Orwell", disponible = false.
- Exemple d’état d’un objet Livre : Un objet Livre peut avoir comme état :
- titre : "1984"
- auteur : "George Orwell"
- nbPages : 328
- disponible : false
- Évolution de l’état : Modification des valeurs des propriétés d’un objet au cours de l’exécution du programme, par exemple, un livre passant de disponible à emprunté (false).
📝 Points essentiels
- La distinction entre attributs (modélisation) et propriétés (PHP) est fondamentale pour comprendre la structure des classes et la gestion des données dans la programmation orientée objet.
- Les propriétés matérialisent concrètement les attributs dans le code PHP, en étant des variables déclarées dans la classe.
- L’état d’un objet est défini par l’ensemble des valeurs de ses propriétés, qui peut évoluer lors de l’exécution (exemple : un livre disponible devient indisponible après un emprunt).
- La gestion cohérente de l’état est essentielle pour respecter la logique métier et assurer la cohérence du programme.
- La modification de l’état d’un objet se fait via ses méthodes, qui peuvent changer la valeur de ses propriétés (exemple :
emprunter() modifiant disponible à false).
💡 À retenir
Une propriété en PHP représente une donnée spécifique d’un objet, et l’état d’un objet correspond à l’ensemble des valeurs de ses propriétés, pouvant évoluer selon les actions effectuées par le programme.
📖 4. Méthodes et comportements
🔑 Notions clés & Définitions
- Méthodes : fonctions définies à l’intérieur d’une classe, représentant les actions ou comportements que l’objet peut réaliser. (voir section 6)
- Fonction : bloc de code indépendant d’une classe, pouvant être appelé séparément. La méthode, quant à elle, appartient à une classe et agit sur ses instances. (voir section 6)
- Appel d’une méthode : opération utilisant l’opérateur
→ en PHP pour exécuter une méthode sur un objet, par exemple $objet->methode(). (voir section 6)
- $this : mot-clé désignant l’objet courant dans une méthode, permettant d’accéder ou de modifier ses propriétés. (voir section 6)
- Comportement d’un objet : ensemble des actions qu’un objet peut effectuer, souvent représentées par des méthodes dans la classe. (voir section 6)
📝 Points essentiels
- Les méthodes sont des fonctions internes à une classe, conçues pour définir les comportements ou actions que l’objet peut réaliser. Elles permettent d’interagir avec l’état de l’objet en utilisant
$this.
- La différence fondamentale entre une fonction et une méthode réside dans leur contexte d’utilisation : la fonction est hors classe, tandis que la méthode est intégrée à une classe et agit sur ses instances.
- L’appel d’une méthode s’effectue avec l’opérateur
→, par exemple $livre->afficherResume().
$this est essentiel pour faire référence à l’objet courant dans une méthode, notamment pour accéder ou modifier ses propriétés.
- La modélisation par méthodes permet de représenter le comportement métier de l’entité, en regroupant données et actions dans une même classe.
💡 À retenir
Les méthodes, en tant que fonctions internes à une classe, définissent les comportements d’un objet et s’utilisent via l’opérateur →, avec $this pour manipuler ses propriétés, permettant une modélisation cohérente et orientée métier.
📖 5. Utilisation de $this
🔑 Notions clés & Définitions
- $this (voir section 4) : mot-clé en PHP qui désigne l’objet courant dans une méthode, permettant d’accéder ou de modifier ses propriétés ou d’appeler ses autres méthodes.
- Propriétés (voir section 4) : variables déclarées dans une classe, représentant l’état ou les attributs d’un objet.
- Méthodes (voir section 4) : fonctions définies dans une classe, décrivant les comportements ou actions que l’objet peut réaliser.
- Objet courant : instance spécifique d’une classe sur laquelle une méthode est en train d’être exécutée, désigné par $this.
- **Distinction entre thisetlaclasse∗∗:this désigne un objet précis, tandis que la classe est un modèle ou un plan pour créer ces objets (voir section 4).
📝 Points essentiels
- $this est utilisé à l’intérieur d’une méthode pour faire référence à l’objet sur lequel cette méthode est appelée, permettant d’accéder à ses propriétés et méthodes.
- Lorsqu’une méthode manipule les propriétés de l’objet, elle doit utiliser this−>nomPropriete∗∗.Parexemple,danslameˊthodeemprunter(),∗∗this->disponible modifie la propriété disponible de l’objet courant.
- **this∗∗nedeˊsignepaslaclasseentieˋre,maisuniquementl’instanceconcreˋteencoursd’utilisation.Siplusieursobjetsexistent,chaqueappelaˋunemeˊthodeviathis agit sur l’objet correspondant.
- Exemple d’utilisation : dans la méthode emprunter(), $this->disponible = false modifie la disponibilité du livre courant.
- La distinction entre this∗∗etlaclasseestfondamentale:laclasseestunmodeˋle,alorsque∗∗this représente une instance spécifique créée à partir de ce modèle.
💡 À retenir
Le mot-clé $this permet à une méthode de faire référence à l’objet précis sur lequel elle est exécutée, facilitant la manipulation de ses propriétés et comportements, tout en maintenant la distinction entre le modèle (classe) et l’instance concrète (objet).
📖 6. Classe PHP Emprunteur
🔑 Notions clés & Définitions
- Classe : Modèle ou plan abstrait d’un type d’entité, décrivant ses propriétés et comportements. Elle ne représente pas une entité concrète mais sert de référence pour créer des objets (voir section 2).
- Propriétés : Variables déclarées dans une classe, représentant l’état ou les caractéristiques d’un objet. Dans cette classe, elles sont nom, prenom, email (voir section 5).
- Méthode : Fonction définie à l’intérieur d’une classe, représentant une action ou un comportement que l’objet peut réaliser. La méthode afficherFiche() est un exemple, permettant de présenter les informations de l’emprunteur (voir section 6).
- Instanciation : Processus de création d’un objet à partir d’une classe, en utilisant le mot-clé
new. Exemple : $emprunteur1 = new Emprunteur();.
- **this∗∗:Mot−cleˊenPHPdeˊsignantl’objetcourantdansunemeˊthode,permettantd’acceˊderaˋsesproprieˊteˊsoumeˊthodes.Parexemple,‘this->nom` dans afficherFiche().
📝 Points essentiels
- La classe Emprunteur sert à modéliser une entité métier représentant un emprunteur dans une bibliothèque.
- Les propriétés publiques
nom, prenom, et email stockent les données personnelles de l’emprunteur.
- La méthode
afficherFiche() doit retourner une chaîne de caractères synthétisant ces informations.
- L’instanciation d’un objet se fait avec
new, par exemple $emprunteur1 = new Emprunteur();.
- Après instanciation, il est nécessaire d’affecter des valeurs aux propriétés de l’objet, par exemple
$emprunteur1->nom = "Martin";.
- L’affichage du résultat de
afficherFiche() permet de vérifier la bonne affectation des données et le bon fonctionnement de la méthode.
💡 À retenir
Une classe PHP Emprunteur sert de modèle pour créer des objets représentant des personnes emprunteuses, avec des propriétés pour stocker leurs informations et une méthode pour les présenter. L’instanciation et l’affectation des valeurs aux propriétés sont essentielles pour utiliser efficacement cette classe.
📖 7. Gestion de disponibilité
🔑 Notions clés & Définitions
- Gestion de la disponibilité : Contrôle de l’état d’un objet (ex : un livre) pour indiquer s’il peut être emprunté ou non, en utilisant une propriété spécifique (ex : disponible).
- Méthodes emprunter() et retourner() : Fonctions qui modifient l’état de l’objet en changeant la valeur de la propriété disponible, pour refléter respectivement l’emprunt ou la restitution du livre.
- Modification de l’état d’un objet : Changement de la valeur d’une propriété (ex : disponible) en réponse à une action, garantissant la cohérence entre comportement et état.
- Exemple d’utilisation : Appeler la méthode emprunter() pour rendre un livre indisponible, puis retourner() pour le rendre disponible à nouveau, illustrant la gestion dynamique de la disponibilité.
- Importance de la cohérence : L’état d’un objet doit toujours correspondre à ses comportements, évitant incohérences comme un livre marqué disponible alors qu’il est emprunté (voir section 3).
📝 Points essentiels
- La propriété disponible indique si un livre peut être emprunté ou non, et doit être modifiée uniquement via les méthodes emprunter() et retourner() pour garantir la cohérence.
- La méthode emprunter() doit mettre la propriété disponible à false, signifiant que le livre est en cours d’emprunt.
- La méthode retourner() doit remettre la propriété disponible à true, indiquant que le livre est à nouveau disponible.
- La modification de l’état doit être cohérente avec le comportement attendu, évitant des incohérences dans la gestion des objets (ex : un livre marqué disponible alors qu’il est emprunté).
- La gestion de la disponibilité permet de modéliser la réalité métier dans le code, en associant actions et états de façon claire et contrôlée.
- La cohérence entre état et comportement est essentielle pour la fiabilité et la lisibilité du programme (voir section 3).
💡 À retenir
La gestion de la disponibilité d’un livre repose sur une propriété modifiable uniquement par des méthodes spécifiques, garantissant que l’état de l’objet reste cohérent avec ses actions.
📖 8. Modélisation entité métier
🔑 Notions clés & Définitions
- Modélisation des entités métier par des classes et objets : Approche consistant à représenter les éléments clés d’un domaine métier sous forme de classes (modèles abstraits) et d’objets (instances concrètes) pour refléter la réalité du métier (voir introduction).
- Regroupement des données et comportements dans une même entité : Concept selon lequel chaque classe doit contenir à la fois les propriétés (données) et les méthodes (comportements) qui leur sont liés, afin de représenter une entité métier cohérente (voir section 10).
- Exemple d’objet Livre représentant une entité métier complète : Illustration concrète où un objet Livre possède des propriétés descriptives (titre, auteur, nbPages, disponible) et des méthodes (afficherFiche(), emprunter(), retourner()) permettant de modéliser une entité métier réelle.
- Distinction entre simple donnée et objet métier avec logique associée : Différence entre une valeur isolée (ex : une chaîne de caractères) et un objet qui, en plus de ses données, intègre une logique métier (comportements) pour représenter une entité complète (voir section 9).
- Importance de la modélisation orientée objet pour refléter le réel : La POO permet de créer une représentation fidèle et cohérente du domaine métier, facilitant la compréhension, la maintenance et l’évolution du logiciel (voir introduction).
📝 Points essentiels
- La modélisation orientée objet vise à représenter chaque entité métier par une classe qui sert de modèle abstrait, puis par des objets concrets issus de cette classe (voir section 3 et 4).
- Un objet métier ne se limite pas à une simple accumulation de données ; il doit également comporter des comportements (méthodes) permettant d’interagir avec ses données, ce qui reflète la logique métier réelle (voir section 6).
- La distinction entre une donnée isolée et un objet métier avec logique associée est fondamentale pour garantir la cohérence et la pertinence du modèle (voir section 9).
- La structuration en classes et objets permet une meilleure lisibilité, cohérence, évolutivité et préparation aux pratiques professionnelles modernes (voir section 2).
- La représentation d’un objet métier complet, comme un Livre, intègre à la fois ses caractéristiques descriptives et ses comportements liés à la gestion de son état (exemple dans le contenu source).
💡 À retenir
La modélisation orientée objet consiste à représenter chaque entité métier par une classe regroupant données et comportements, permettant ainsi de refléter fidèlement la réalité du domaine dans le code.
📖 9. Bonne pratique en POO
🔑 Notions clés & Définitions
- Principe d’une classe cohérente : une classe doit représenter une entité métier claire, avec des propriétés et méthodes en lien direct avec cette entité, évitant le fourre-tout (voir point 10).
- Cohérence entre propriétés et méthodes : chaque propriété doit avoir une fonction ou un rôle précis, et les méthodes doivent agir uniquement sur ces propriétés ou sur l’entité modélisée (voir point 10).
- Responsabilité unique d’une classe : chaque classe doit avoir une seule responsabilité ou finalité, facilitant la lisibilité, la maintenance et l’évolution du code (voir point 10).
- Qualité et lisibilité du code orienté objet : un code bien structuré, avec des classes cohérentes et des noms explicites, favorise la compréhension et la réutilisation (voir point 10).
- Importance de la responsabilité claire : chaque classe doit modéliser une seule entité ou concept métier, avec des méthodes cohérentes, évitant le mélange de responsabilités (voir point 10).
📝 Points essentiels
- Une bonne classe ne doit pas devenir un fourre-tout où l’on place des méthodes ou propriétés sans rapport avec l’entité modélisée. Par exemple, dans une classe Livre, il serait incohérent d’ajouter une méthode calculant le salaire d’un bibliothécaire ou envoyant une facture, car ces responsabilités n’ont pas de lien direct avec la représentation d’un livre (voir point 10).
- La cohérence entre propriétés et méthodes garantit que chaque élément de la classe sert à représenter ou manipuler une caractéristique ou un comportement spécifique de l’entité (voir point 10).
- Une responsabilité claire permet d’éviter la confusion lors de la maintenance ou de l’évolution du code, en facilitant la compréhension du rôle de chaque classe (voir point 10).
- La qualité du code repose aussi sur un nommage explicite des méthodes et propriétés, ce qui améliore la lisibilité et la compréhension immédiate du rôle de chaque composant (voir point 10).
- La modélisation correcte d’une entité métier par une classe implique que cette dernière porte une logique minimale et cohérente, en réunissant données et comportements liés à cette entité (voir point 10).
💡 À retenir
Une classe doit modéliser une seule entité métier cohérente, avec des propriétés et méthodes en lien direct, pour garantir la lisibilité, la cohérence et la facilité d’évolution du code orienté objet.
📖 10. Exercices pratiques PHP
🔑 Notions clés & Définitions
Classe : Modèle ou plan abstrait d’un type d’entité, décrivant ses propriétés et comportements, sans représenter une instance concrète (voir section 3).
Objet : Instance concrète d’une classe, créée en mémoire à partir du modèle, possédant ses propres valeurs pour les propriétés (voir section 2).
Propriétés : Variables déclarées dans une classe, représentant l’état ou les attributs d’un objet (voir section 5).
Méthodes : Fonctions définies dans une classe, décrivant les actions ou comportements que l’objet peut réaliser (voir section 4).
$this : Mot-clé en PHP désignant l’objet courant dans une méthode, permettant d’accéder ou de modifier ses propriétés (voir section 7).
Manipulation d’objets : Processus de création, modification et utilisation d’instances d’une classe pour modéliser une entité métier, favorisant la cohérence et la lisibilité du code (voir section 9).
📝 Points essentiels
- La classe sert à modéliser une entité métier en regroupant données et comportements, sans représenter un objet concret (voir section 3).
- La création d’un objet se fait avec le mot-clé
new, qui instancie la classe pour produire une réalisation concrète en mémoire (voir section 2).
- Les propriétés d’un objet représentent son état, et peuvent évoluer au cours de l’exécution, notamment via des méthodes (voir section 5).
- Les méthodes permettent d’exécuter des actions sur l’objet, en utilisant
$this pour accéder à ses propriétés et comportements (voir section 4 et 7).
- Il est crucial de respecter la cohérence entre la classe (modèle) et l’objet (réalisation concrète), en évitant de faire de la classe un « fourre-tout » (voir section 10).
- La manipulation d’un même type d’objet permet de gérer plusieurs entités concrètes avec des états différents, facilitant la gestion et l’évolutivité du code (voir section 8).
💡 À retenir
La programmation orientée objet en PHP repose sur la modélisation d’entités métier à travers des classes, permettant de créer, manipuler et faire évoluer des objets cohérents, lisibles et proches du réel.
📊 Tableaux de Synthèse
| Critère | Classe PHP Livre | Objet Concret | Auteur / Référence |
|---|
| Définition | Modèle abstrait décrivant propriétés et comportements | Instance concrète créée à partir de la classe | "La classe est le modèle. L’objet est une réalisation concrète de ce modèle." (Date non précisée) |
| Syntaxe | class Livre { ... } | $livre = new Livre(); | "En PHP, une classe se déclare avec le mot-clé class." (Date non précisée) |
| Propriétés / Attributs | public $titre;, $auteur;, $nbPages;, $disponible; | Valeurs spécifiques d’un livre (ex: titre) | "Les propriétés représentent l’état d’un objet." (Date non précisée) |
| Méthodes | afficherFiche(), emprunter(), retourner() | Actions concrètes sur un livre (ex: emprunter) | "Les méthodes sont des actions que l’objet peut exécuter." (Date non précisée) |
| Création d’un objet | new Livre() | Instance avec ses propres valeurs | "L’objet est une réalisation concrète, créée en mémoire." (Date non précisée) |
| Accès aux membres | $livre->afficherFiche() | $livre->propriete ou $livre->methode() | "L’opérateur → permet d’accéder aux membres d’un objet." (Date non précisée) |
⚠️ Pièges & Confusions Fréquentes
- Confondre classe (modèle) et objet (instance concrète) : la classe ne représente pas un objet réel, mais un plan.
- Oublier d’utiliser
new pour instancier un objet, ce qui empêche la création concrète.
- Confusion entre propriétés (variables déclarées dans la classe) et attributs (caractéristiques modélisées).
- Ne pas utiliser l’opérateur
→ pour accéder aux membres d’un objet.
- Confondre la propriété
disponible avec sa méthode emprunter() ou retourner() qui modifient son état.
- Omettre de distinguer la déclaration de la classe et la création d’un objet dans le code.
- Confusion entre l’état d’un objet (valeurs des propriétés) et ses comportements (méthodes).
✅ Checklist Examen
- Connaître la définition d’une classe en PHP et sa différence avec un objet, en se référant à la citation : "La classe est le modèle. L’objet est une réalisation concrète de ce modèle."
- Savoir déclarer une classe PHP avec le mot-clé
class.
- Identifier et expliquer le rôle des propriétés (
$titre, $auteur, $nbPages, $disponible) dans la classe Livre.
- Expliquer la différence entre attribut (modélisation) et propriété (PHP).
- Décrire le processus d’instanciation d’un objet avec
new et l’opérateur →.
- Illustrer comment créer un objet
Livre concret et lui attribuer des valeurs.
- Expliquer le rôle de
$this dans une méthode d’une classe PHP.
- Savoir utiliser la méthode
afficherFiche() pour produire une description de l’état d’un livre.
- Comprendre la gestion de l’état d’un objet via ses propriétés, notamment la propriété
disponible.
- Connaître la différence entre propriété et méthode, et leur utilisation dans la modélisation d’un livre.
- Maîtriser la syntaxe PHP pour accéder aux membres d’un objet.
- Identifier les bonnes pratiques en POO pour la gestion des propriétés et des méthodes.
Crea tus propias hojas de repaso
Importa tu curso y la IA genera hojas, cuestionarios y tarjetas de memoria en 30 segundos.
Generador de hojas