Функцыя spl_autoload_call
Функцыя spl_autoload_call выклікае ўсе зарэгістраваныя аўтазагрузчыкі для спробы загрузкі паказанага класа. У адрозненне ад spl_autoload_register, якая рэгіструе аўтазагрузчыкі, гэтая функцыя непасрэдна выконвае іх выклік. Адзіны параметр - імя класа, які трэба загрузіць.
Сінтаксіс
phpspl_autoload_call(string $class_name): void
Прыклад
Паспрабуем загрузіць неіснуючы клас без аўтазагрузчыка:
php<?php
spl_autoload_call('NonExistentClass');
?>
Вынік выканання кода (памылка, калі аўтазагрузчыкі не зарэгістраваны):
php// Нічога не адбудзецца, калі няма зарэгістраваных аўтазагрузчыкаў
Прыклад
Стварым просты аўтазагрузчык і паспрабуем загрузіць клас:
php<?php
spl_autoload_register(function($class) {
echo "Trying to load class: $class\n";
});
spl_autoload_call('TestClass');
?>
Вынік выканання кода:
phpTrying to load class: TestClass
Прыклад
Праверым працу з некалькімі аўтазагрузчыкамі:
php<?php
spl_autoload_register(function($class) {
echo "First loader: $class\n";
});
spl_autoload_register(function($class) {
echo "Second loader: $class\n";
});
spl_autoload_call('MyClass');
?>
Вынік выканання кода:
phpFirst loader: MyClass
Second loader: MyClass
Глядзіце таксама
-
функцыю spl_autoload_register,
якая рэгіструе аўтазагрузчык -
функцыю spl_autoload_functions,
якая вяртае аўтазагрузчыкі -
функцыю class_exists,
якая правярае клас