Composer

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");