spl_autoload_unregister function
spl_autoload_unregister function သည် ယခင်က မှတ်ပုံတင်ထားသော autoload function တစ်ခုကို SPL stack မှ ဖယ်ရှားရန် ခွင့်ပြုသည်။ ၎င်းသည် parameter အဖြစ် autoloaders စာရင်းမှ ဖယ်ရှားရန်လိုအပ်သော callback function ကို လက်ခံသည်။
ဝါကျဖွဲ့စည်းပုံ
spl_autoload_unregister(callable $autoload_function);
ဥပမာ
Autoloader တစ်ခုကို မှတ်ပုံတင်ပြီး ထို့နောက် ဖယ်ရှားကြည့်ရအောင်။
<?php
function my_autoload($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoload');
spl_autoload_unregister('my_autoload');
?>
ယခုအခါ my_autoload function သည် မသတ်မှတ်ရသေးသော class တစ်ခုကို autoload လုပ်ရန် ကြိုးစားသည့်အခါတွင် နောက်ထပ် ခေါ်ယူမည် မဟုတ်တော့ပါ။
ဥပမာ
Autoloader ဖယ်ရှားမှု အောင်မြင်မှုကို စစ်ဆေးခြင်း။
<?php
function autoload_one($class) {
echo "Trying to load $class\n";
}
spl_autoload_register('autoload_one');
$res = spl_autoload_unregister('autoload_one');
var_dump($res);
?>
ကုဒ်ကို run လိုက်သည့် အဖြေ။
true
ဥပမာ
မရှိသော autoloader တစ်ခုကို ဖယ်ရှားရန် ကြိုးစားခြင်း။
<?php
$res = spl_autoload_unregister('nonexistent_function');
var_dump($res);
?>
ကုဒ်ကို run လိုက်သည့် အဖြေ။
false
ဒါတွေလဲ ကြည့်ပါ
-
spl_autoload_register function,
သည် autoloader ကို မှတ်ပုံတင်ပေးသည် -
spl_autoload_functions function,
သည် autoloaders များကို ပြန်ပေးသည် -
spl_autoload_call function,
သည် autoloader ကို ခေါ်ယူသည်