関数 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

関連項目