L’outil Composer permet de gérer les dépendances dans vos projets PHP. Il s’installe en quelques secondes seulement, que ce soit en interactif sous Windows ou en ligne de commandes.
Documentation
La documentation complète se trouve sur le site officiel.
Fichiers de configuration et librairies
Dans le répertoire racine de votre applications vous aurez plusieurs fichiers et dossiers :
- composer.json
Il contient notamment la clé « require » avec les librairies nécessaires au projet. - composer.lock
Fichier auquel on ne touche pas : il conserve l’état des dépendances à un moment T. - Sous-dossier « vendor » :
- Contient l’autoloader de composer.
- Contient les sources et les librairies PHP du projet.
Liste de commandes
Ajouter une dépendance au projet
Vous pouvez utiliser la commande require pour ajouter une librairie au projet. Utilisez la commande suivante:
composer require mistic100/randomcolor
Le paramètre qui suit est le package que l’on souhaite ajouter. Composer s’occupera de télécharger tout le nécessaire pour vous.
Initialiser les fichiers de base
Un projet peut être initialisé à l’aide de la commande suivante:
composer init
L’outil va vous poser différentes questions puis créera les fichiers nécessaires pour votre projet.
Mise à jour des dépendances
La commande suivante permet d’effectuer la mise à jour automatiquement, par rapport aux versions requises (définies dans le fichier JSON de configuration).
composer update
L’outil téléchargera le nécessaire par rapport aux dépendances à mettre à jour. Il vous renseignera également quelles sont celles qui sont obsolètes et qu’il vaut mieux remplacer.
Reconstruire l’autoloader
Si on effectue une modification à la main dans le fichier JSON de configuration, au niveau de la clé « autoload« , il faudra penser à appeler la commande suivante:
composer dump-autoload
Les fichiers de l’autoloader sont alors recréés avec les informations manquantes.
Supprimer une dépendance
Cette fois-ci on utilise la commande remove. On spécifie en paramètre le package à supprimer.
composer remove mistic100/randomcolor
Composer se charge du reste…
Utiliser l’autoloader généré
Supposons que votre page index.php soit dans le sous-répertoire « public » de l’application, vous devrez y inclure la ligne suivante:
require_once("../vendor/autoload.php");