Funktionen spl_autoload_call
Funktionen spl_autoload_call kalder alle registrerede autoloadere i et forsøg på at indlæse den angivne klasse. I modsætning til spl_autoload_register, som registrerer autoloadere, udfører denne funktion direkte kald til dem. Den eneste parameter er navnet på den klasse, der skal indlæses.
Syntaks
spl_autoload_call(string $class_name): void
Eksempel
Lad os prøve at indlæse en ikke-eksisterende klasse uden en autoloader:
<?php
spl_autoload_call('NonExistentClass');
?>
Resultat af kodeudførelse (fejl, hvis der ikke er registreret nogen autoloadere):
// Intet vil ske, hvis der ikke er nogen registrerede autoloadere
Eksempel
Lad os oprette en simpel autoloader og prøve at indlæse en klasse:
<?php
spl_autoload_register(function($class) {
echo "Forsøger at indlæse klasse: $class\n";
});
spl_autoload_call('TestClass');
?>
Resultat af kodeudførelse:
Forsøger at indlæse klasse: TestClass
Eksempel
Lad os tjekke funktionaliteten med flere autoloadere:
<?php
spl_autoload_register(function($class) {
echo "Første loader: $class\n";
});
spl_autoload_register(function($class) {
echo "Anden loader: $class\n";
});
spl_autoload_call('MyClass');
?>
Resultat af kodeudførelse:
Første loader: MyClass
Anden loader: MyClass
Se også
-
funktionen spl_autoload_register,
som registrerer en autoloader -
funktionen spl_autoload_functions,
som returnerer autoloadere -
funktionen class_exists,
som tjekker en klasse