L3 Info : PHP et Applications Web
 
◃  Ch. 8 Gestion de projet Web  ▹
 

Gestion des dépendances avec composer

  • composer est un gestionnaire de dépendances pour PHP. Il permet :
    • d’installer des bibliothèques tierces (ex: Symfony, Doctrine, Monolog).
    • de gérer les versions et les conflits de dépendances.
    • de générer un autoloader pour les classes (PSR-4).
  • Similaire aux outils équivalents
    • Maven pour Java (pom.xml)
    • Gradle pour Android (build.gradle)
    • NPM pour Node.js (package.json)
    • Yarn pour React (yarn.lock)
    • Pip pour Python (requirements.txt)
    • ...
  • Initialisation de composer pour un projet :
    • composer init
    • commande interactive pour configurer le projet.
    • crée un fichier composer.json décrivant l'arborescence du projet et le rôle de chaque dossier.
      Exemple :
      {
      "name": "webApp",
      "description": "Application web",
      "type": "project",
      "autoload": {
          "psr-4": {
              "App\\": "src/"
          }
      },
      "authors": [
          {
              "name": "fournied",
              "email": "dominique.fournier@univ-lehavre.fr"
          }
      ],
      "require": {}
      }
  • Lien entre l’arborescence du projet et Composer
    • /vendor : Créé et géré par composer. Contient toutes les dépendances du projet.
    • /src : Structure souvent liée à l’autoloading (PSR-4) configuré dans composer.json.
  • Autoloading : Composer génère un fichier vendor/autoload.php qui charge automatiquement les classes de /src et /vendor.