PHP 5.4.33 Released

spl_autoload_unregister

(PHP 5 >= 5.1.2)

spl_autoload_unregister Efface une fonction donnée de l'implémentation __autoload()

Description

bool spl_autoload_unregister ( mixed $autoload_function )

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, toutes les fonctions __autoload existantes ne seront pas réactivées.

Liste de paramètres

autoload_function

La fonction autoload à enregistrer.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

add a note add a note

User Contributed Notes 2 notes

up
2
Julien B.
5 years ago
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
up
-1
edgarortegaramirez at example dot com
1 year ago
$functions = spl_autoload_functions();
    foreach($functions as $function) {
        spl_autoload_unregister($function);
    }

A nice way to unregister all functions.
To Top