Funkce spl_autoload_call
Funkce spl_autoload_call volá všechny registrované autoloadery pro pokus o načtení zadané třídy. Na rozdíl od spl_autoload_register, která registruje autoloadery, tato funkce přímo provádí jejich volání. Jediný parametr - název třídy, kterou je třeba načíst.
Syntaxe
spl_autoload_call(string $class_name): void
Příklad
Zkusme načíst neexistující třídu bez autoloaderu:
<?php
spl_autoload_call('NonExistentClass');
?>
Výsledek provedení kódu (chyba, pokud nejsou registrovány autoloadery):
// Nic se nestane, pokud nejsou registrované žádné autoloadery
Příklad
Vytvořme jednoduchý autoloader a zkusme načíst třídu:
<?php
spl_autoload_register(function($class) {
echo "Pokus o načtení třídy: $class\n";
});
spl_autoload_call('TestClass');
?>
Výsledek provedení kódu:
Pokus o načtení třídy: TestClass
Příklad
Ověřme funkčnost s několika autoloadery:
<?php
spl_autoload_register(function($class) {
echo "První loader: $class\n";
});
spl_autoload_register(function($class) {
echo "Druhý loader: $class\n";
});
spl_autoload_call('MyClass');
?>
Výsledek provedení kódu:
První loader: MyClass
Druhý loader: MyClass
Viz také
-
funkci spl_autoload_register,
která registruje autoloader -
funkci spl_autoload_functions,
která vrací autoloadery -
funkci class_exists,
která kontroluje třídu