Funktion spl_autoload_unregister

Die Funktion spl_autoload_unregister ermöglicht es, eine zuvor registrierte Autoload-Funktion aus dem SPL-Stack zu entfernen. Als Parameter akzeptiert sie eine Callback-Funktion, die aus der Liste der Autoloader entfernt werden soll.

Syntax

phpspl_autoload_unregister(callable $autoload_function);

Beispiel

Lassen Sie uns einen Autoloader registrieren und anschließend entfernen:

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

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

Die Funktion my_autoload wird nun nicht mehr aufgerufen, wenn versucht wird, eine undefinierte Klasse zu laden.

Beispiel

Überprüfung des erfolgreichen Entfernens eines Autoloaders:

php<?php
  function autoload_one($class) {
    echo "Versuche, $class zu laden\n";
  }

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

Ergebnis der Codeausführung:

phptrue

Beispiel

Versuch, einen nicht vorhandenen Autoloader zu entfernen:

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

Ergebnis der Codeausführung:

phpfalse

Siehe auch