Функция spl_autoload_unregister

Функция spl_autoload_unregister позволяет удалить ранее зарегистрированную функцию автозагрузки из стека SPL. В параметре принимает callback-функцию, которую нужно удалить из списка автозагрузчиков.

Синтаксис

phpspl_autoload_unregister(callable $autoload_function);

Пример

Давайте зарегистрируем и затем удалим автозагрузчик:

php<?php
  function my_autoload($class) {
    include 'classes/' . $class . '.php';
  }

  spl_autoload_register('my_autoload');
  spl_autoload_unregister('my_autoload');
?>

Теперь функция my_autoload больше не будет вызываться при попытке автозагрузки неопределенного класса.

Пример

Проверка успешности удаления автозагрузчика:

php<?php
  function autoload_one($class) {
    echo "Trying to load $class\n";
  }

  spl_autoload_register('autoload_one');
  $res = spl_autoload_unregister('autoload_one');
  var_dump($res);
?>

Результат выполнения кода:

phptrue

Пример

Попытка удалить несуществующий автозагрузчик:

php<?php
  $res = spl_autoload_unregister('nonexistent_function');
  var_dump($res);
?>

Результат выполнения кода:

phpfalse

Смотрите также

  • функцию spl_autoload_register,
    которая регистрирует автозагрузчик
  • функцию spl_autoload_functions,
    которая возвращает автозагрузчики
  • функцию spl_autoload_call,
    которая вызывает автозагрузчик