9. L'autoload de Composer

À ce stade du cours, Composer doit déjà être installé. 

Créons notre composer.json

Pour pouvoir utiliser au mieux Composer, il faut commencer par créer un fichier composer.json. Dans notre cas, ce fichier sera très simple pour l'utilisation que l'on en fait, on va uniquement se servir de l'autoload de Composer. Créez ce fichier à la racine de votre projet.

Voici notre composer.json

{
  "autoload": {
    "psr-4": {"App\\src\\": "src/"}
  }
}

Ici, rien de bien complexe, on indique à Composer qu'on veut que l'autoload qui soit fait respecte le PSR-4 et l'endroit où se trouve les fichiers qui vont être appelés par l'autoloader.

Si vous avez besoin d'en savoir plus sur le PSR-4, je vous invite suivre ce lien.

 

Ouvrez votre terminal et lancez la commande suivante : 

composer dump-autoload

Cette commande permet aussi de générer les fichiers d'autoload par Composer, nous n'avons plus à nous en occuper 😅

Il est temps de faire le ménage 😉💪

 

Utiliser l'autoload de Composer

Ouvrez votre fichier home.php et mettez à jour votre fichier : 

<?php
require '../vendor/autoload.php';

use App\src\DAO\ArticleDAO;
?>

Supprimez l'appel à votre fichier Autoloader ainsi que l'appel à la méthode register, et les require aussi.

Supprimez aussi votre fichier Autoloader.php dans le dossier config 

Non mais attends, tu nous l'as fais créer pour le supprimer ? 😡😡😡

Oui, le chapitre précédent était pour vous faire comprendre comment utiliser un autoloader, mais cette méthode est dépassée. Dans les applications modernes, on utilise Composer.

 

Faites-en de même pour single.php

<?php
require '../vendor/autoload.php';

use App\src\DAO\ArticleDAO;
use App\src\DAO\CommentDAO;
?>

 

Gardez pour le moment les use, on les retirera d'ici peu mais on en a encore besoin pour le moment. 😁

Actualisez votre page web, notre blog fonctionne toujours.

 

Versionning

Pensez à mettre à jour votre fichier .gitignore :

.idea/
/vendor/

Cela permet de ne pas versionner le dossier vendor, qui est créé par Composer lors de l'exécution : 

composer dump-autoload

 

Bilan

Dans ce chapitre, nous avons utilisé Composer pour avoir un autoloader plus performant.

Vous pouvez retrouver le code associé à ce chapitre sur GitHub.