Backend PHP (BPH) Help

Composer : Setup et autoload

Composer est un gestionnaire de dépendances. Il nous permet de charger des librairies PHP et leurs versions précises pour les utiliser dans nos projets.

Installer Composer

Le premier jour de cours, vous avez dû installer Composer sur votre poste de travail, si ça n'est pas le cas, les instructions sont ici.

Les fichiers de composer

Pour fonctionner, composer se base sur deux fichiers : composer.json et composer.lock et un dossier quíl créée : le dossier vendor.

composer.json

composer.json c'est le fichier de configuration des dépendances de votre projet, il indique les librairies que vous souhaitez utiliser et leurs versions.

composer.lock

composer.lock c'est le fichier que génère composer, il comporte la liste précise de toute les librairies et versions spécifiques que composer a installé pour vous dans le dossier vendor.

Le dossier vendor

vendor c'est le dossier dans lequel composer va installer les librairies et aller les chercher quand vous l'utiliserez.

Les principales commandes de Composer

composer install

composer install

Cette commande lit le contenu du fichier composer.json et installe les librairies mentionnées dans le fichier qui ne sont pas encore présentes dans le dossier vendor.

composer update

composer update

Cette commande lit le contenu du fichier composer.json et le contenu du fichier composer.lock et met à jour les versions des librairies si une mise à jour compatible est disponible.

composer require

composer require <librairie>

Cette commande vous permet d'ajouter une librairie à la liste de celles utilisées par votre projet.

composer dump-autoload

composer dump-autoload

Cette commande permet de demander à composer de mettre à jour son fichier autoload qui précharge vos classes. Le fichier autoload de composer peut ensuite être trouvé dans le dossier vendor: vendor/autoload.php.

Le composer.json de base

{ "name": "user/nom-du-projet", "require": { }, "autoload": { "classmap": [ "controllers/", "managers/", "models/", "services/" ] } }

Ce qui lui permet de charger les fichiers depuis votre architecture MVC : plus besoin de créer le fichier config/autoload.php.

08 December 2025