PHP orienté objet et Composer : coder comme un pro

PHP orienté objet et Composer est un cours de niveau intermédiaire de 6 leçons (environ 3 h 13), avec 19 exercices et 18 questions de quiz. Prérequis : PHP fondamentaux. Les exercices sont exécutés et corrigés dans une sandbox côté serveur.

  • PHP
  • Intermédiaire
  • 6 leçons
  • 3 h 13
  • 19 exercices
  • Exercices exécutés dans une sandbox serveur

Le cours en bref

Ce cours fait passer du PHP procédural au PHP professionnel. Tu modélises des objets métier avec classes, encapsulation, héritage, interfaces et enums, tu gères les erreurs avec des exceptions, puis tu structures un projet avec les namespaces, Composer et l'autoload PSR-4. C'est la base indispensable avant Laravel ou Symfony.

Ce que tu sauras faire

  • Concevoir des classes typées avec promotion de constructeur, propriétés readonly et encapsulation
  • Utiliser héritage, classes abstraites, interfaces et traits à bon escient
  • Modéliser des valeurs fermées avec les enums et des objets valeur avec des constructeurs nommés
  • Gérer les erreurs avec des exceptions SPL et métier
  • Structurer un projet avec namespaces, Composer et l'autoload PSR-4

Programme des 6 leçons

  1. 01

    Classes et objets

    15 minAperçu gratuit
    • Déclarer une classe avec des propriétés typées, un constructeur et des méthodes
    • Instancier des objets et appeler leurs méthodes avec ->
    • Utiliser la promotion de constructeur et les propriétés readonly

    Classes et objetsConstructeur et promotionPropriétés readonly

  2. 02

    Encapsulation et héritage

    18 min
    • Protéger l'état d'un objet avec private et protected et des méthodes de contrôle
    • Créer une classe enfant avec extends, parent:: et la redéfinition de méthodes
    • Utiliser les classes abstraites, final et l'attribut #[\Override]

    Encapsulation et visibilitéHéritageClasses abstraites

  3. 03

    Interfaces, polymorphisme et traits

    18 min
    • Définir un contrat avec une interface et l'implémenter dans plusieurs classes
    • Écrire du code polymorphe qui dépend d'une interface plutôt que d'une classe concrète
    • Réutiliser du code transversal avec un trait

    InterfacesPolymorphismeTraits

  4. 04

    Membres statiques, constantes et énumérations

    16 min
    • Distinguer membres d'instance et membres statiques, et utiliser self:: et static::
    • Déclarer des constantes de classe typées (PHP 8.3)
    • Modéliser un ensemble fermé de valeurs avec une enum, avec méthodes et valeurs associées

    Membres statiquesConstantes de classeÉnumérations

  5. 05

    Gérer les erreurs avec les exceptions

    16 min
    • Lever et intercepter des exceptions avec throw, try, catch et finally
    • Choisir la bonne exception SPL et créer ses propres classes d'exception
    • Organiser la gestion des erreurs : échouer tôt, attraper au bon niveau

    ExceptionsExceptions personnalisées

  6. 06

    Namespaces, Composer et autoload PSR-4

    20 min
    • Organiser son code avec des namespaces et l'instruction use
    • Initialiser un projet Composer, installer des dépendances et comprendre composer.json et composer.lock
    • Configurer l'autoload PSR-4 pour charger les classes sans require

    NamespacesComposerAutoload PSR-4

Projet final

Moteur de commandes d'une boutique en ligne

Construis, sans framework, le cœur métier d'une boutique sous forme de projet Composer : des objets valeur (Prix en centimes, Email), des entités (Produit, Commande, LigneCommande), une enum StatutCommande avec ses transitions, une interface MoyenDePaiement avec deux implémentations et des exceptions métier (StockInsuffisant, TransitionInterdite). Un script public/index.php simule le passage d'une commande et affiche un récapitulatif ; quelques tests PHPUnit vérifient les règles principales.

Livrables

  • Un projet Composer avec autoload PSR-4 (App\ → src/, Tests\ → tests/) et composer.lock versionné
  • Les classes, interfaces, enums et exceptions dans des fichiers séparés respectant PSR-4
  • Un script de démonstration public/index.php
  • Au moins cinq tests PHPUnit lancés avec composer test

Critères d'évaluation

  • Les invariants métier sont garantis par les classes (encapsulation, readonly, validation dans les constructeurs)
  • Le code dépend d'interfaces et reçoit ses dépendances par injection
  • Les statuts sont modélisés par une enum et les transitions interdites lèvent une exception métier
  • Les erreurs sont gérées par des exceptions précises, jamais avalées
  • La structure Composer et les namespaces sont corrects ; les tests passent

Questions fréquentes

Faut-il connaître la POO pour apprendre Laravel ou Symfony ?

Oui. Ces frameworks reposent entièrement sur les classes, les interfaces, l'injection de dépendances, les namespaces et Composer : ce cours en donne les bases nécessaires.

Qu'est-ce que Composer ?

Composer est le gestionnaire de dépendances de PHP. Il installe les bibliothèques déclarées dans composer.json, fige leurs versions dans composer.lock et génère un autoloader pour charger les classes automatiquement.

Quelles nouveautés récentes de PHP sont abordées ?

Promotion de constructeur, propriétés et classes readonly, enums, expression match, arguments nommés, constantes de classe typées et attribut #[\Override] de PHP 8.3, ainsi que clone avec modification de propriétés et attribut #[\NoDiscard] de PHP 8.5.

Les exercices nécessitent-ils une installation ?

Les exercices de code s'exécutent sur la plateforme avec PHP 8.5. Seule la tâche pratique sur Composer demande une installation locale de PHP et de Composer.

Ce cours, raconté pour ton métier

Dis ce que tu veux savoir faire : « PHP orienté objet et Composer » prend sa place dans ton parcours, avec des exemples de ton secteur. Les notions restent celles du cours.

L'aperçu est gratuit, et les cours se suivent un par un sans payer. Le parcours ne contient que des leçons du catalogue.