Qu'est-ce que Composer et pourquoi en a-t-on besoin ?
\n\nComposer est un gestionnaire de dépendances pour le langage de programmation PHP. Si vous avez travaillé avec npm pour JavaScript ou pip pour Python, le principe de fonctionnement de Composer vous sera familier. Il permet de déclarer les bibliothèques dont votre projet dépend, et de gérer automatiquement leur installation, leur mise à jour et leur suppression.
Pourquoi a-t-on besoin de Composer ? Dans le développement PHP moderne, on écrit rarement tout à partir de zéro. On utilise généralement des bibliothèques prêtes à l'emploi : pour travailler avec des bases de données (Doctrine, Eloquent), les requêtes HTTP (Guzzle), les moteurs de templates (Twig), la journalisation (Monolog), etc. Avant, les développeurs téléchargeaient des archives ZIP, copiaient manuellement les fichiers et les incluaient via require. C'était peu pratique, difficile de gérer les versions et de mettre à jour les dépendances. Composer résout tous ces problèmes :
- \n
- Chargement automatique (autoloading) : Composer génère un fichier d'autoloading qui inclut automatiquement toutes les classes nécessaires. Vous n'avez pas besoin d'écrire des dizaines de
require_once. \n - Gestion des versions : Vous spécifiez les versions exactes des bibliothèques (ou des plages), et Composer s'assure qu'elles n'entrent pas en conflit entre elles. \n
- Dépôt centralisé : Toutes les bibliothèques sont stockées sur Packagist.org — le dépôt officiel de Composer. \n
- Reproductibilité : Le fichier
composer.lockfige les versions exactes de tous les paquets installés, ce qui garantit un environnement identique sur toutes les machines (développement, test, production). \n
Installation de Composer
\n\nInstallation sur Linux / macOS
\nLa méthode la plus simple est d'utiliser le script d'installation officiel. Ouvrez un terminal et exécutez :
\nphp -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"\nphp -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"\nphp composer-setup.php\nphp -r "unlink('composer-setup.php');"\nAprès cela, vous obtiendrez le fichier composer.phar. Pour rendre la commande composer globale, déplacez-le :
sudo mv composer.phar /usr/local/bin/composer\n\nInstallation sur Windows
\nTéléchargez et exécutez l'installateur depuis le site officiel. Il ajoutera automatiquement Composer à la variable d'environnement PATH.
\n\nVérification de l'installation
\nAprès l'installation, exécutez dans le terminal :
\ncomposer --version\nVous devriez voir quelque chose comme : Composer version 2.7.1 2024-03-11 16:15:07.
Démarrage rapide avec un exemple de code
\n\nCréons un nouveau projet et installons une bibliothèque pour travailler avec les dates — nesbot/carbon.
- \n
- Créez un répertoire pour le projet :\n
\nmkdir my_project\ncd my_project\n - Initialisez Composer :\n
\ncomposer initIl vous sera demandé de saisir le nom du projet, la description, l'auteur, etc. Vous pouvez simplement appuyer sur Entrée pour accepter les valeurs par défaut. Au final, un fichier
\ncomposer.jsonsera créé. \n - Installez la bibliothèque Carbon :\n
\ncomposer require nesbot/carbonComposer téléchargera la bibliothèque et toutes ses dépendances dans le dossier
\nvendor/, créera également le fichiercomposer.locket mettra à jourcomposer.json. \n - Créez le fichier
index.php:\n<?php\nrequire_once __DIR__ . '/vendor/autoload.php';\n\nuse Carbon\\Carbon;\n\necho
Aussi dans la bibliothèque
Travailler avec XML en Go (Golang) : le package encoding/xml et ses alternatives
Configuration d'applications en C++ : bibliothèques et outils pour un paramétrage flexible
Symfony/Validator PHP : guide complet avec exemples
Clap — un puissant framework CLI pour Rust