$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
可能会帮助一些人在这种困境中