SunshinePHP Developer Conference 2015

spl_autoload_unregister

(PHP 5 >= 5.1.2)

spl_autoload_unregisterUnregister given function as __autoload() implementation

Descrizione

bool spl_autoload_unregister ( mixed $autoload_function )

Removes a function from the autoload queue. If the queue is activated and empty after removing the given function then it will be deactivated.

When this function results in the queue being deactivated, any __autoload function that previously existed will not be reactivated.

Elenco dei parametri

autoload_function

The autoload function being unregistered.

Valori restituiti

Restituisce TRUE in caso di successo, FALSE in caso di fallimento.

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