Functie spl_autoload_unregister

De functie spl_autoload_unregister maakt het mogelijk om een eerder geregistreerde autoload-functie uit de SPL-stack te verwijderen. Als parameter accepteert het een callback-functie, die uit de lijst van autoloaders moet worden verwijderd.

Syntaxis

phpspl_autoload_unregister(callable $autoload_function);

Voorbeeld

Laten we een autoloader registreren en deze vervolgens verwijderen:

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

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

De functie my_autoload wordt nu niet meer aangeroepen bij een poging tot het autoloaden van een niet-gedefinieerde klasse.

Voorbeeld

Controle of het verwijderen van de autoloader succesvol was:

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);
?>

Resultaat van de code-uitvoering:

phptrue

Voorbeeld

Poging om een niet-bestaande autoloader te verwijderen:

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

Resultaat van de code-uitvoering:

phpfalse

Zie ook