$functions = spl_autoload_functions();
foreach($functions as $function) {
spl_autoload_unregister($function);
}
注销所有函数的一种好方法。
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
spl_autoload_unregister — 注销给定函数作为 __autoload() 实现
从自动加载队列中删除一个函数。如果在删除给定函数后队列被激活并为空,则它将被停用。
当此函数导致队列被停用时,任何先前存在的 __autoload 函数都不会被重新激活。
callback
正在注销的自动加载函数。
$functions = spl_autoload_functions();
foreach($functions as $function) {
spl_autoload_unregister($function);
}
注销所有函数的一种好方法。
在使用 spl_autoload_register() 调用后恢复到 __autoload 的绑定
<?php
spl_autoload_register(array('Doctrine', 'autoload'));
// 一些过程
spl_autoload_unregister(array('Doctrine', 'autoload'));
// 但现在旧的 __autoload 不会再被触发了
// 你需要使用:
spl_autoload_register('__autoload');
// 但如果 __autoload 函数尚未定义,这将抛出一个 LogicExeption
// 函数,因此使用:
function autoload__ ( $className ) {
if ( function_exists('__autoload'))
__autoload($className);
}
spl_autoload_register('autoload__');
?>
因此,您可以将旧的 __autoload 定义在另一个文件中,例如
可能有助于某些人在这种进退两难的境地中