SPL_Autoload_Unregister () function ကို SPL (Standard PHP Library) Autolead stack မှယခင်မှတ်ပုံတင်ထားသော Autoloader ကိုဖယ်ရှားရန်အသုံးပြုသည်။ အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-title function_ invoke__">spl_autoload_unregister</span></span><span>(</span><span><span class="hljs-string">'my_autoloader'</span></span><span>);
</span></span>
အထက်ပါကုဒ်တွင် 'my_autoloader' သည် သင်ယခင်က spl_autoload_register () မှတဆင့်သင်ယခင်ကမှတ်ပုံတင်ခဲ့သော autooloader ဖြစ်သည်။ ဤလုပ်ဆောင်မှုသည်ကျွန်ုပ်၏ thouutoloader မှ my_autoloader ကို ဖယ်ရှားပေးသည်။
တကယ်တော့ spl_autoload_Unregister () သူ့ဟာသူသည်အထူး PHP ပတ်ဝန်းကျင်သို့မဟုတ် configuration အပေါ်မူတည်သည်မဟုတ်။ PHP ဗားရှင်းသည် 5.1.2 (ဤအင်္ဂါရပ်သည် PHP 5.1.2 မှစတင်သည်အထိသီအိုရီအရသီအိုရီအရအလုပ်လုပ်သည်။ သို့သော် SPL_AUTOLOADOADREDREDIDIDION တွင်စနစ်တကျအလုပ်လုပ်ရန်သော့ချက်သည် spl_autoutoload_UREGister () ကို anoloader ကိုမှတ်ပုံတင်ရန်,
ထို့ကြောင့်လက်ရှိ PHP ပတ် 0 န်းကျင် spl_autoload_Unregister ကို အထောက်အကူပြုနိုင်မလားဆုံးဖြတ်ရန်,
ပထမ ဦး စွာလက်ရှိ PHP ဗားရှင်းကိုအတည်ပြုပါ။ spl_autoload_unregister () သည် PHP ဗားရှင်း 5.1.2 နှင့်အထက်တွင်သာထောက်ပံ့သောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ အကယ်. သင်၏ PHP ဗားရှင်းသည် 5.1.2 ထက်နိမ့်ပါက Spl_autoload_Unregister () မရရှိနိုင်ပါ။ လက်ရှိ PHP version ကို phpversion () function ကို ဖြတ်. ရနိုင်သည်။
<span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">version_compare</span></span><span>(PHP_VERSION, </span><span><span class="hljs-string">'5.1.2'</span></span><span>, </span><span><span class="hljs-string">'>='</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"PHP ဗားရှင်းအထောက်အပံ့ spl_autoload_unregister()"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"PHP မူကွဲကိုမပံ့ပိုးပါ spl_autoload_unregister()"</span></span><span>;
}
</span></span>
အကယ်. သင်၏ PHP ဗားရှင်းသည်ဤအင်္ဂါရပ်ကိုအထောက်အကူပြုပါက autoloader ကိုမှတ်ပုံတင်ထားကြောင်းသေချာပါစေ။ Spl_Autoload_Functions () ကို သုံး. လက်ရှိမှတ်ပုံတင်ထားသော autoloader ကိုကြည့်ရှုရန်။ အကယ်. Reward Array သည်အချည်းနှီးမပါပါက 0 ိုင်အားမှတ်ပုံတင်ထားပြီး Spl_autoload_Unregister () spl_autoload_unregister () ကို ပုံမှန်အသုံးပြုနိုင်သည်။
<span><span><span class="hljs-variable">$autoloaders</span></span><span> = </span><span><span class="hljs-title function_ invoke__">spl_autoload_functions</span></span><span>();
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">count</span></span><span>(</span><span><span class="hljs-variable">$autoloaders</span></span><span>) > </span><span><span class="hljs-number">0</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Autoloader သည်လက်ရှိမှတ်ပုံတင်ထားသည်"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အလိုအလျောက် loader မှတ်ပုံတင်ခြင်းမရှိပါ"</span></span><span>;
}
</span></span>
PHP သည်ပုံမှန်အားဖြင့်အလိုအလျောက်တင်ဆောင်သည့်ယန္တရားတစ်ခုဖြစ်ပြီးအထူးသဖြင့် Spl_autoload () သည် ပုံမှန်အားဖြင့်အခြေခံ Loader ကိုမှတ်ပုံတင်သည်။ ဤ default loader ကို uninstall လုပ်ရန်သင်ကြိုးစားပါကပြ problems နာများကြုံတွေ့ရနိုင်သည်။ ဤအရာကိုရှောင်ရှားရန်သင်သည် default autoloader ကို uninalling မဟုတ်ကြောင်း ဦး စွာ ဦး စွာသင်ကိုယ်တိုင်သေချာစွာစစ်ဆေးနိုင်သည်။
ပုံမှန် loader မှတ်ပုံတင်ခြင်းသည်သင်၏စိတ်ကြိုက် loader ကို 0 င်ရောက်စွက်ဖက်လိမ့်မည်မဟုတ်ပါ။ ဒါကြောင့် uninstall လုပ်ဖို့မကြိုးစားမီအခြားမှတ်ပုံတင်ထားသော autoloaders ရှိမရှိစစ်ဆေးနိုင်သည်။
SPL_Autoload_Unregister () ကိုခေါ်သည့်အခါသေချာအောင်လုပ်ပါ။ ဥပမာအားဖြင့်:
<span><span><span class="hljs-comment">// autoloader မှတ်ပုံတင်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">spl_autoload_register</span></span><span>(function (</span><span><span class="hljs-variable">$class</span></span><span>) {
</span><span><span class="hljs-keyword">include</span></span><span> </span><span><span class="hljs-string">'path/to/classes/'</span></span><span> . </span><span><span class="hljs-variable">$class</span></span><span> . </span><span><span class="hljs-string">'.php'</span></span><span>;
});
</span><span><span class="hljs-comment">// အဆိုပါ autoloader ကိုအောက်ပါနည်းလမ်းများအတွက် uninstall နိုင်ပါတယ်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">spl_autoload_unregister</span></span><span>(function (</span><span><span class="hljs-variable">$class</span></span><span>) {
</span><span><span class="hljs-keyword">include</span></span><span> </span><span><span class="hljs-string">'path/to/classes/'</span></span><span> . </span><span><span class="hljs-variable">$class</span></span><span> . </span><span><span class="hljs-string">'.php'</span></span><span>;
});
</span></span>
သို့သော်အမည်မသိလုပ်ဆောင်ချက်များကို autoloader တစ်ခုအဖြစ်အသုံးပြုသောအခါ SPL_Autoload_Unregister () မှတဆင့်၎င်းကိုတိုက်ရိုက်ချခြင်းကပျက်ကွက်နိုင်သည့်အတွက်, ၎င်းကို uninstall လုပ်ရန်အတွက်အမည်မသိ function ကိုအမည်ပေးထားသော function တစ်ခုထဲသို့ ဦး စွာ adcapsult သို့မဟုတ် callable object method ကိုသုံးရန်ပထမ ဦး ဆုံး encapsulate လုပ်ရန်လိုအပ်သည်။
လက်ရှိပတ်ဝန်းကျင်သည် spl_autoload_Unregister ကို သုံး. autoloader ကို uninstall လုပ်ခြင်းရှိမရှိဆုံးဖြတ်ရန်မှာသော့ချက်မှာ -
PHP ဗားရှင်းသည် 5.1.2 ထက်ကြီးကြောင်းသေချာပါစေ။
autoloader ကိုမှန်ကန်စွာမှတ်ပုံတင်ရန် Spl_Autoload_register () ကိုသုံးပါ။
မှတ်ပုံတင်ထားသော Autoloader သည်လက်ရှိတည်ရှိနေကြောင်းအတည်ပြုပါ။ SPL_Autoload_Functions () မှတဆင့်စစ်ဆေးနိုင်သည်။
ဤအခြေအနေများကိုပြည့်မီနေသရွေ့ Spl_autoload_Unregister () သည် ပုံမှန်အားဖြင့်ပုံမှန်အားဖြင့်အလုပ်လုပ်နိုင်ပြီး PHP ပတ်ဝန်းကျင်ကန့်သတ်ထားနိုင်မည်မဟုတ်ချေ။