Fonction spl_autoload_call

La fonction spl_autoload_call appelle tous les autoloaders enregistrés pour tenter de charger la classe spécifiée. Contrairement à spl_autoload_register, qui enregistre les autoloaders, cette fonction exécute directement leur appel. Le seul paramètre est le nom de la classe à charger.

Syntaxe

phpspl_autoload_call(string $class_name): void

Exemple

Essayons de charger une classe inexistante sans autoloader :

php<?php
spl_autoload_call('NonExistentClass');
?>

Résultat de l'exécution du code (erreur si aucun autoloader n'est enregistré) :

php// Rien ne se passera s'il n'y a pas d'autoloaders enregistrés

Exemple

Créons un autoloader simple et essayons de charger une classe :

php<?php
spl_autoload_register(function($class) {
  echo "Tentative de chargement de la classe : $class\n";
});

spl_autoload_call('TestClass');
?>

Résultat de l'exécution du code :

phpTentative de chargement de la classe : TestClass

Exemple

Vérifions le fonctionnement avec plusieurs autoloaders :

php<?php
spl_autoload_register(function($class) {
  echo "Premier autoloader : $class\n";
});

spl_autoload_register(function($class) {
  echo "Deuxième autoloader : $class\n";
});

spl_autoload_call('MyClass');
?>

Résultat de l'exécution du code :

phpPremier autoloader : MyClass
Deuxième autoloader : MyClass

Voir aussi