L'autoloading
Notions théoriques
En PHP, l'autoloading est une fonctionnalité qui permet de charger automatiquement les classes nécessaires sans avoir à les inclure manuellement à chaque fois.
C'est particulièrement utile lorsque vous travaillez avec de nombreux fichiers de classes.
Pour mettre en place l'autoloading, PHP fournit une fonction appelée spl_autoload_register()
.
La fonction
spl_autoload_register()
enregistre une autre fonction (que vous définissez) que PHP appellera automatiquement si vous essayez d'utiliser une classe ou une interface qui n'est pas encore définie.
Par exemple, si vous avez un répertoire contenant toutes vos classes, vous pouvez enregistrer une fonction d'autoloading qui va inclure automatiquement le fichier contenant la classe chaque fois que vous essayez de l'utiliser.
Exemple pratique
Supposons que vous ayez une classe Fichier
dans un fichier Fichier.php
.
Au lieu d'inclure manuellement ce fichier chaque fois que vous voulez utiliser la classe Fichier
,
vous pouvez enregistrer une fonction d'autoloading comme suit :
function autoload($class_name) {
include $class_name . '.php';
}
spl_autoload_register('autoload');
$fichier = new Fichier();
Dans cet exemple, lorsque vous essayez de créer un nouvel objet Fichier
,
PHP appelle la fonction d'autoloading qui inclut automatiquement le fichier Fichier.php
.
On peut aussi utiliser une fonction anonyme :
spl_autoload_register(function ($class_name) {
include $class_name . '.php';
});
$fichier = new Fichier();