Restore the binding to __autoload after using a spl_autoload_register() call
<?php
spl_autoload_register(array('Doctrine', 'autoload'));
// some process
spl_autoload_unregister(array('Doctrine', 'autoload'));
// but now the old __autoload is not triggered anymore
// you need to use :
spl_autoload_register('__autoload');
// but this will throw a LogicExeption if the __autoload
// function is not defined yet, so use:
function autoload__ ( $className ) {
if ( function_exists('__autoload'))
__autoload($className);
}
spl_autoload_register('autoload__');
?>
So you can define your old __autoload in another file for example
May helps some folks in this catch 22
spl_autoload_unregister
(PHP 5 >= 5.1.2)
spl_autoload_unregister — Efface d'une fonction donnée de l'implémentation __autoload()
Description
Efface une fonction de la pile __autoload fourni par spl. Si la pile est active et vide après l'effacement de la fonction donnée, alors elle sera désactivée.
Lorsque cette fonction active une pile autoload, une fonction __autoload existante ne sera pas réactivée.
Liste de paramètres
- autoload_function
-
La fonction autoload à enregistrer.
Valeurs de retour
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
spl_autoload_unregister
Julien B.
07-Jul-2009 06:31
07-Jul-2009 06:31
