PHP 5.4.31 Released

spl_autoload_unregister

(PHP 5 >= 5.1.2)

spl_autoload_unregisterاز حالت ثبت‌نام خارج کردن توابع داده شده به عنوان پیاده‌سازی __autoload()

Description

bool spl_autoload_unregister ( mixed $autoload_function )

از حالت ثبت نام خارج کردن تابع در پشته __autoload فراهم شده spl. اگر پس از خارج شدن از جالت ثبت نام پشته خالی و فعال باشد آن را غیر فعال می‌کند.

هنگامی که این تابع موجب فعال شدن پشته autoload می‌شود تابع موحود __autoload دوباره فعال نخواهد شد.

Parameters

autoload_function

تابع autoload برای از حالت ثبت‌نام خارج کردن.

Return Values

Returns TRUE on success or FALSE on failure.

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