Comprendre le rôle de Composer

Composer n’est pas un gestionnaire de paquets au sens système (comme APT ou Homebrew), mais un gestionnaire de dépendances pour vos projets PHP. Son rôle est simple : vous indiquez les bibliothèques dont votre projet a besoin, et Composer s’occupe de les télécharger, de les installer et de gérer les versions pour éviter les conflits.

Installation de Composer

Avant de commencer, assurez-vous que PHP est correctement installé sur votre machine. Pour installer Composer globalement sur Linux ou macOS, utilisez la commande suivante :

curl -sS https://getcomposer.org/installer | phpnsudo mv composer.phar /usr/local/bin/composer

Sur Windows, il est recommandé d’utiliser l’installeur Composer-Setup.exe disponible sur le site officiel.

Initialiser un nouveau projet

Pour commencer à utiliser Composer dans un dossier, vous devez créer un fichier composer.json. Ce fichier servira de carte d’identité pour vos dépendances.

Lancez la commande suivante à la racine de votre projet :

composer init

L’assistant vous posera plusieurs questions (nom du projet, description, auteur). Vous pouvez appuyer sur Entrée pour accepter les valeurs par défaut.

 

Installer une bibliothèque tierce

Prenons l’exemple de Monolog, la bibliothèque standard pour la gestion des logs en PHP. Pour l’ajouter à votre projet,  veillez depuis votre terminal à être dans le bon dossier contenant votre projet, utilisez la commande require :

composer require monolog/monolog

Cette commande effectue trois actions:  

  1. Elle ajoute monolog/monolog dans votre fichier composer.json.
  2. Elle télécharge la bibliothèque dans un dossier nommé vendor/.
  3. Elle génère un fichier composer.lock pour fixer la version exacte installée.

il suffit de se rendre sur le site de packagiste pour trouver toute les dependances

Utiliser l’Autoloader de Composer

C’est ici que réside la véritable puissance de Composer. Au lieu de faire des require manuels pour chaque fichier de bibliothèque, Composer génère un autoloader unique.

Il vous suffit d’inclure un cette ligne au début de votre  fichier principal en  PHP :
<?php
require 'vendor/autoload.php';
// le reste de votre code php

il vous restera à configuer votre namespace, et la norme PSR . 

Gestion des mises à jour et suppression

Pour gerer les mise a jour il faudra taper depuis votre terminal:

composer update

Si vous n’avez plus besoin d’un package, vous pouvez le supprimer proprement avec :

composer remove monolog/monolog

Différence entre composer.json et composer.lock

Il est crucial de comprendre la différence entre ces deux fichiers pour le travail en équipe :

  • composer.json : Définit les versions souhaitées (ex: ^2.0 signifie « toutes les versions supérieures ou égales à 2.0 mais inférieures à 3.0 »).
  • composer.lock : Enregistre la version exacte installée (ex: 2.4.1).

Le fichier composer.lock doit impérativement être versionné (commité sur Git). Ainsi, tous vos collaborateurs installeront exactement les mêmes versions de bibliothèques en lançant composer install.

Conclusion

Composer transforme la manière de développer en PHP en permettant une modularité et une maintenance simplifiées.

En résumé : init pour commencer, require pour ajouter, et autoload.php pour utiliser les namespaces proprement

Avez-vous rencontré des difficultés avec l’installation ou la gestion des versions ? Partagez vos questions en commentaire !

 

Rechercher sur le site: