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