Функција 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 "Обид за вчитување на класа: $class\n";
});

spl_autoload_call('TestClass');
?>

Резултат од извршување на кодот:

phpОбид за вчитување на класа: TestClass

Пример

Да ја провериме работата со повеќе автоматски вчитувачи:

php<?php
spl_autoload_register(function($class) {
  echo "Прв вчитувач: $class\n";
});

spl_autoload_register(function($class) {
  echo "Втор вчитувач: $class\n";
});

spl_autoload_call('MyClass');
?>

Резултат од извршување на кодот:

phpПрв вчитувач: MyClass
Втор вчитувач: MyClass

Погледни исто така

  • функција spl_autoload_register,
    која регистрира автоматски вчитувач
  • функција spl_autoload_functions,
    која ги враќа автоматските вчитувачи
  • функција class_exists,
    која проверува дали класа постои