Funkcja spl_autoload_call
Funkcja spl_autoload_call wywołuje wszystkie zarejestrowane autoloadery w celu próby załadowania określonej klasy. W przeciwieństwie do spl_autoload_register, która rejestruje autoloadery, ta funkcja bezpośrednio wykonuje ich wywołanie. Jedynym parametrem jest nazwa klasy, którą należy załadować.
Składnia
spl_autoload_call(string $class_name): void
Przykład
Spróbujmy załadować nieistniejącą klasę bez autoloadera:
<?php
spl_autoload_call('NonExistentClass');
?>
Wynik wykonania kodu (błąd, jeśli autoloadery nie są zarejestrowane):
// Nic się nie stanie, jeśli nie ma zarejestrowanych autoloaderów
Przykład
Stwórzmy prosty autoloader i spróbujmy załadować klasę:
<?php
spl_autoload_register(function($class) {
echo "Próba załadowania klasy: $class\n";
});
spl_autoload_call('TestClass');
?>
Wynik wykonania kodu:
Próba załadowania klasy: TestClass
Przykład
Sprawdźmy działanie z kilkoma autoloaderami:
<?php
spl_autoload_register(function($class) {
echo "Pierwszy loader: $class\n";
});
spl_autoload_register(function($class) {
echo "Drugi loader: $class\n";
});
spl_autoload_call('MyClass');
?>
Wynik wykonania kodu:
Pierwszy loader: MyClass
Drugi loader: MyClass
Zobacz też
-
funkcję spl_autoload_register,
która rejestruje autoloader -
funkcję spl_autoload_functions,
która zwraca autoloadery -
funkcję class_exists,
która sprawdza klasę