Funktion spl_autoload_call
Die Funktion spl_autoload_call
ruft alle registrierten Autoloader auf, um zu versuchen, die angegebene Klasse zu laden. Im Gegensatz zu spl_autoload_register
, die Autoloader registriert, führt diese Funktion deren Aufruf direkt aus. Der einzige Parameter ist der Name der Klasse, die geladen werden soll.
Syntax
spl_autoload_call(string $class_name): void
Beispiel
Versuchen wir, eine nicht existierende Klasse ohne Autoloader zu laden:
<?php
spl_autoload_call('NonExistentClass');
?>
Ergebnis der Codeausführung (Fehler, wenn keine Autoloader registriert sind):
// Nichts passiert, wenn keine registrierten Autoloader vorhanden sind
Beispiel
Erstellen wir einen einfachen Autoloader und versuchen, eine Klasse zu laden:
<?php
spl_autoload_register(function($class) {
echo "Trying to load class: $class\n";
});
spl_autoload_call('TestClass');
?>
Ergebnis der Codeausführung:
Trying to load class: TestClass
Beispiel
Überprüfen wir die Arbeit mit mehreren Autoloadern:
<?php
spl_autoload_register(function($class) {
echo "First loader: $class\n";
});
spl_autoload_register(function($class) {
echo "Second loader: $class\n";
});
spl_autoload_call('MyClass');
?>
Ergebnis der Codeausführung:
First loader: MyClass
Second loader: MyClass
Siehe auch
-
die Funktion spl_autoload_register,
die einen Autoloader registriert -
die Funktion spl_autoload_functions,
die die Autoloader zurückgibt -
die Funktion class_exists,
die eine Klasse überprüft