Chapitre 28 : Composer

Utilisez le gestionnaire de dépendances Composer pour vos projets PHP modernes

1. Qu'est-ce que Composer ?

Composer est un gestionnaire de dépendances pour PHP. Il permet :

  • D'ajouter facilement des bibliothèques tierces à un projet
  • De gérer les versions des dépendances
  • D'organiser le chargement automatique des classes (autoloading)
  • De maintenir un écosystème PHP moderne et organisé

2. Installation de Composer

Vous pouvez installer Composer globalement ou localement. Voici la méthode recommandée :

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Ensuite, utilisez composer.phar ou placez-le dans un dossier de votre PATH pour l'utiliser en ligne de commande comme composer.

3. Initialisation d'un projet

Créez un fichier composer.json avec la commande :

composer init

Cette commande vous guide pour configurer les informations de base de votre projet.

4. Ajouter une bibliothèque

Pour installer une bibliothèque comme PHPMailer :

composer require phpmailer/phpmailer

Composer crée alors :

  • Un dossier vendor/ contenant la bibliothèque
  • Un fichier autoload.php pour le chargement automatique
  • Met à jour le fichier composer.json

5. Autoloading

Composer permet de charger automatiquement toutes les classes nécessaires :

<?php
require 'vendor/autoload.php';
?>

Ce système fonctionne aussi avec vos propres classes si vous définissez correctement les namespaces dans composer.json.

6. Mettre à jour ou supprimer une dépendance

  • Mettre à jour toutes les dépendances :
    composer update
  • Mettre à jour une dépendance spécifique :
    composer update nom/du-package
  • Supprimer une dépendance :
    composer remove nom/du-package

7. Exercice pratique : Créez un projet avec Composer

🎯 Objectif : Créer un projet PHP qui utilise une bibliothèque externe installée via Composer.

Consignes :

  • Initialisez un projet avec composer init
  • Installez phpmailer/phpmailer
  • Créez un script PHP qui envoie un e-mail en utilisant PHPMailer
  • Utilisez require 'vendor/autoload.php' pour charger les classes

Bonus :

  • Ajoutez une classe personnelle dans src/ avec un namespace
  • Configurez l'autoloading pour vos classes avec autoload dans composer.json
  • Utilisez composer dump-autoload pour recharger
  • Créez une dépendance de développement avec --dev

8. Résumé

  • ✅ Composer gère les bibliothèques tierces et leurs versions
  • ✅ Il permet l'autoloading de vos classes et celles des packages
  • ✅ Il simplifie le développement moderne en PHP
  • ✅ Il facilite la collaboration et le déploiement

Composer est un outil indispensable pour tout développeur PHP professionnel.