Функция spl_autoload_call
Функция spl_autoload_call извиква всички регистрирани автозареждащи функции за опит да зареди указания клас. За разлика от spl_autoload_register, която регистрира автозареждащи функции, тази функция директно изпълнява тяхното извикване. Единственият параметър - името на класа, който трябва да бъде зареден.
Синтаксис
spl_autoload_call(string $class_name): void
Пример
Нека се опитаме да заредим несъществуващ клас без автозареждаща функция:
<?php
spl_autoload_call('NonExistentClass');
?>
Резултат от изпълнението на кода (грешка, ако няма регистрирани автозареждащи функции):
// Нищо няма да се случи, ако няма регистрирани автозареждащи функции
Пример
Нека създадем проста автозареждаща функция и се опитаме да заредим клас:
<?php
spl_autoload_register(function($class) {
echo "Опит за зареждане на клас: $class\n";
});
spl_autoload_call('TestClass');
?>
Резултат от изпълнението на кода:
Опит за зареждане на клас: TestClass
Пример
Нека проверим работата с няколко автозареждащи функции:
<?php
spl_autoload_register(function($class) {
echo "Първа зареждаща функция: $class\n";
});
spl_autoload_register(function($class) {
echo "Втора зареждаща функция: $class\n";
});
spl_autoload_call('MyClass');
?>
Резултат от изпълнението на кода:
Първа зареждаща функция: MyClass
Втора зареждаща функция: MyClass
Вижте също
-
функция spl_autoload_register,
която регистрира автозареждаща функция -
функция spl_autoload_functions,
която връща автозареждащите функции -
функция class_exists,
която проверява клас