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.phppour le chargement automatique - Met à jour le fichier
composer.json
5. Autoloading
Composer permet de charger automatiquement toutes les classes nécessaires :
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
autoloaddanscomposer.json - Utilisez
composer dump-autoloadpour 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.