Utiliser Composer
Composer est un gestionnaire de dépendances pour PHP. Cet outil permet de gérer et d'intégrer des bibliothèques externes dans les projets PHP. Il se veut simple et fiable en même temps.
L'utilisation de Composer se fait principalement en ligne de commande. L'utilisation est très facile et à la portée de tous. Vous pouvez retrouver plus d'informations directement sur le site officiel : https://getcomposer.org/
Installation
Mac ou Linux
L'installation sous un environnement Unix se fera en ligne de commande. Pour cela, ouvrez votre terminal et entrer la ligne suivante :
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Si vous possédez Hombrew sur votre machine, vous pouvez utiliser cette commande :
brew install composer
Tester l'installation en tapant la commande composer
dans votre terminal. Vous devriez obtenir un résultat similaire :
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 2.2.5 2022-01-21 17:25:52
La date et l'heure peuvent varier
Windows
Sous Windows, l'installation utilisera un exécutable téléchargeable depuis ce lien : https://getcomposer.org/doc/00-intro.md#installation-windows
Lancer l'assistant d'installation et ne cochez pas le Developer mode
. Dans la fenêtre suivante, vous devez indiquer où se situe PHP sur votre machine, par défaut il peut être trouvé automatiquement, sinon faites-le. Pour ce qui est des paramètres du proxy, ignorez cette étape et passez à la suivante. Enfin, installez.
Une fois le processus terminé, ouvrez une invite de commande et testez en insérant la commande composer
.
Utilisation
Composer vous permet d'ajouter des dépendances externes à votre projet. Vous pouvez les trouver sur le site Packagist.
Pour l'exemple, nous utiliserons ce paquet : https://github.com/sebastianbergmann/version
Son utilisation est très facile, pour cela, ouvrez un terminal et rendez-vous dans le dossier de votre projet. Une fois dans celui-ci, installez la bibliothèque :
composer require sebastian/version
Vous devriez voir apparaitre les étapes de l'installation :
Using version ^3.0 for sebastian/version
./composer.json has been created
Running composer update sebastian/version
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
- Locking sebastian/version (3.0.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing sebastian/version (3.0.2): Extracting archive
Generating autoload files
1 package you are using is looking for funding.
Use the `composer fund` command to find out more!
Vous verrez apparaitre un dossier nommé vendor
dans votre projet contenant la bibliothèque choisie, ainsi qu'un fichier composer.json
et composer.lock
à la racine de votre projet. Tout cela est normal.
A chaque fois que vous installerez une dépendance, elle viendra se loger dans le dossier vendor
et le fichier composer.json
se remplira d'une nouvelle information.
composer.json
Ce fichier est très important et ne doit pas être supprimé. Il s'agit du registre de Composer. C'est-à-dire que c'est grâce à ce fichier que Composer pourra installer vos dépendances et les mettre à jour au besoin. Pas de mise à jour de manière automatique.
Si jamais vous n'avez plus le dossier vendor
dans votre projet. Vous pouvez tout réinstaller grâce à ce fichier et Composer :
composer install
Tout simplement !
Voyons un peu son contenu.
{
"require": {
"sebastian/version": "^3.0"
}
}
Il ne contient rien d'autre que le nom de la dépendance, ainsi que de la version utilisée. Le caractère ^
permet de signifier à Composer que les mises à jour futures concerneront toute la version 3.0
, mais s'arrêtera dès que la rétrocompatibilité ne sera plus possible. Autrement dit, que dès que la dépendance arrivera à la version 4.0
, Composer ne mettra pas à jour. Son maximum sera : 3.9.9
.
Mettre à jour
Comme expliquer au-dessus, Composer peut mettre à jour vos paquets. Cela se fait très simplement depuis votre terminal de commandes :
composer update
Toutes vos dépendances se mettront à jour si nécessaire. Par contre, vous avez la possibilité de mettre à jour une seule librairie si besoin :
composer update sebastian/version
Cela aura aussi pour effet de mettre à jour le fichier composer.json
.
Supprimer
Si à l'inverse, vous souhaitez vous débarrasser d'une bibliothèque, alors la commande suivante sera votre alliée :
composer remove sebastian/version
Utilisation de la dépendance
Bon, c'est bien gentil tout ça, mais comment utiliser la dépendance uns fois installée dans notre projet. Pour cela, ouvrez une page PHP et appelons l'autoloader de Composer :
<?php
require __DIR__ .'/vendor/autoload.php';
Il ne vous restera plus qu'à lire la documentation pour utiliser la bibliothèque.
<?php
require __DIR__ .'/vendor/autoload.php';
use SebastianBergmann\Version;
$version = new Version('1.0.0', __DIR__);
var_dump($version->getVersion());
Astuce
Astuce qui n'en est pas une. Faites bien attention à être situé dans le dossier de votre projet et la racine de celui-ci avant d'utiliser Composer.