Funktionen spl_autoload_call
Funktionen spl_autoload_call anropar alla registrerade autoloaders för att försöka ladda den angivna klassen. Till skillnad från spl_autoload_register, som registrerar autoloaders, utför denna funktion direkt deras anrop. Den enda parametern är namnet på klassen som behöver laddas.
Syntax
spl_autoload_call(string $class_name): void
Exempel
Låt oss försöka ladda en icke-existerande klass utan autoloader:
<?php
spl_autoload_call('NonExistentClass');
?>
Resultat av kodkörning (fel, om inga autoloaders är registrerade):
// Inget händer om det inte finns några registrerade autoloaders
Exempel
Låt oss skapa en enkel autoloader och försöka ladda en klass:
<?php
spl_autoload_register(function($class) {
echo "Försöker ladda klass: $class\n";
});
spl_autoload_call('TestClass');
?>
Resultat av kodkörning:
Försöker ladda klass: TestClass
Exempel
Låt oss kontrollera hur det fungerar med flera autoloaders:
<?php
spl_autoload_register(function($class) {
echo "Första loadern: $class\n";
});
spl_autoload_register(function($class) {
echo "Andra loadern: $class\n";
});
spl_autoload_call('MyClass');
?>
Resultat av kodkörning:
Första loadern: MyClass
Andra loadern: MyClass
Se även
-
funktionen spl_autoload_register,
som registrerar en autoloader -
funktionen spl_autoload_functions,
som returnerar autoloaders -
funktionen class_exists,
som kontrollerar en klass