Функцыя 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 "Trying to load class: $class\n";
});
spl_autoload_call('TestClass');
?>
Вынік выканання кода:
Trying to load class: TestClass
Прыклад
Праверым працу з некалькімі аўтазагрузчыкамі:
<?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');
?>
Вынік выканання кода:
First loader: MyClass
Second loader: MyClass
Глядзіце таксама
-
функцыю spl_autoload_register,
якая рэгіструе аўтазагрузчык -
функцыю spl_autoload_functions,
якая вяртае аўтазагрузчыкі -
функцыю class_exists,
якая правярае клас