Функцыя spl_autoload_unregister

Функцыя spl_autoload_unregister дазваляе выдаліць раней зарэгістраваную функцыю аўтазагрузкі са стэка SPL. У параметры прымае зваротную функцыю, якую трэба выдаліць са спісу аўтазагрузчыкаў.

Сінтаксіс

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

Глядзіце таксама