Функцыя 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

Глядзіце таксама