Функция 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 "Опит за зареждане на $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,
    която извиква автозареждащ