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
spl_autoload_call(string $class_name): void
Exemple
Essayons de charger une classe inexistante sans autoloader :
<?php
spl_autoload_call('NonExistentClass');
?>
Résultat de l'exécution du code (erreur si aucun autoloader n'est enregistré) :
// 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
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 :
Tentative de chargement de la classe : TestClass
Exemple
Vérifions le fonctionnement avec plusieurs autoloaders :
<?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 :
Premier autoloader : MyClass
Deuxième autoloader : MyClass
Voir aussi
-
la fonction spl_autoload_register,
qui enregistre un autoloader -
la fonction spl_autoload_functions,
qui retourne les autoloaders -
la fonction class_exists,
qui vérifie une classe