Home » Programmation Web » Langages Web » Utilisation de Composer pour l’autoloading

Utilisation de Composer pour l’autoloading

Introduction

Dans les projets en PHP, nous avons souvent besoin d’un système d’autoloading.

Au lieu de créer de zéro ce système d’autoloading en PHP, il suffit d’initialiser composer et de l’utiliser simplement.

Voici les 3 étapes à suivre :

Etape 1 : initialiser composer

Dans le dossier contenant votre projet, vous aller initialiser composer en faisant un composer init.

Vous remplissez les différentes informations : name, description, licence, etc…

Voici un exemple de fichier composer.json que j’utilise :

Dans le fichier principal de votre projet, index.php par convention, il est important de rajouter la ligne suivante :

require ‘vendor/autoload.php’;

Sinon, l’autoloading ne fonctionnera pas.

Etape 2 : Ajout de l’autoload

Dans le fichier composer.json généré, la partie à ajouter est la suivante : autoload.
Vous pouvez recopier cette partie de mon exemple ci-dessus.
psr-4 est la convention actuelle sur l’autoloading, et permet une meilleure gestion du chargement des classes et des interfaces de votre projet.

Dans mon exemple, vous avez remarqué la ligne suivante : « App\\ »: « app/ ».
Cela signifie que les classes du dossier app sont automatiquement chargé par PHP.

Etape 3 : les derniers détails

Pour finaliser tout cela, il reste quelques détails à ajouter.
Dans chaque classes PHP du dossier app, il faut ajouter en début de script la ligne suivante :

<?php
namespace App;

Dès que vous voulez utiliser une des classes de ce dossier app, il suffit d’utiliser les lignes de code telle que celle-ci :

use App\nomDeLaClasse as nomDeLaClasse;

Cela appellera automatique la classe ayant pour nom nomDeLaClasse, et vous pourrez l’utiliser sans problème.

Posté dans Langages Web, Programmation Web

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  • RSS
  • Facebook
  • LinkedIn
  • Twitter
  • YouTube