Composer pour PHP : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce que Composer et pourquoi en a-t-on besoin ?

\n\n

Composer 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.

\n\n

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\n
    \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.lock fige les versions exactes de tous les paquets installés, ce qui garantit un environnement identique sur toutes les machines (développement, test, production).
  • \n
\n\n

Installation de Composer

\n\n

Installation sur Linux / macOS

\n

La méthode la plus simple est d'utiliser le script d'installation officiel. Ouvrez un terminal et exécutez :

\n
php -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');"
\n

Après cela, vous obtiendrez le fichier composer.phar. Pour rendre la commande composer globale, déplacez-le :

\n
sudo mv composer.phar /usr/local/bin/composer
\n\n

Installation sur Windows

\n

Téléchargez et exécutez l'installateur depuis le site officiel. Il ajoutera automatiquement Composer à la variable d'environnement PATH.

\n\n

Vérification de l'installation

\n

Après l'installation, exécutez dans le terminal :

\n
composer --version
\n

Vous devriez voir quelque chose comme : Composer version 2.7.1 2024-03-11 16:15:07.

\n\n

Démarrage rapide avec un exemple de code

\n\n

Créons un nouveau projet et installons une bibliothèque pour travailler avec les dates — nesbot/carbon.

\n\n
    \n
  1. Créez un répertoire pour le projet :\n
    mkdir my_project\ncd my_project
    \n
  2. \n
  3. Initialisez Composer :\n
    composer init
    \n

    Il 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 composer.json sera créé.

    \n
  4. \n
  5. Installez la bibliothèque Carbon :\n
    composer require nesbot/carbon
    \n

    Composer téléchargera la bibliothèque et toutes ses dépendances dans le dossier vendor/, créera également le fichier composer.lock et mettra à jour composer.json.

    \n
  6. \n
  7. Créez le fichier index.php :\n
    <?php\nrequire_once __DIR__ . '/vendor/autoload.php';\n\nuse Carbon\\Carbon;\n\necho                    

Recommendations