Функция 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,
    която проверява клас