PHP တွင် OB_List_Handlers () function သည်လက်ရှိ output buffer အတွက်ကိုင်တွယ်စာရင်းတစ်ခုကိုပြန်ပေးသည့်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ output buffer ယန္တရားသည်အကြောင်းအရာများကို cach capressing သို့မဟုတ်ပြုပြင်မွမ်းမံခြင်းကဲ့သို့သော browser သို့မပို့မီ output အကြောင်းအရာများကိုလုပ်ဆောင်ရန်ခွင့်ပြုသည်။ သို့သော်အချို့သောကိစ္စရပ်များတွင် ob_list_handlers () ကို အသုံးပြုခြင်း () သည်တိကျစွာသို့မဟုတ်ခြွင်းချက် output buffer handlers စာရင်းကိုဖြစ်ပေါ်စေနိုင်သည်။ ဤဆောင်းပါးသည်ဤအခြေအနေ၏ဖြစ်နိုင်ချေရှိသောအကြောင်းရင်းများကိုစူးစမ်းလေ့လာပြီးဖြေရှင်းနည်းများပေးလိမ့်မည်။
output buffer သည် PHP တွင် output processing လုပ်ရန်ယန္တရားတစ်ခုဖြစ်သည်။ output buffer ကိုဖွင့်ထားသည့်အခါ PHP သည် browser သို့ချက်ချင်းမပို့မည့်အစား Buffer ရှိ output data ကိုသိမ်းဆည်းထားသည်။ ဤနည်းအားဖြင့် developer များကနောက်ဆုံးတွင် output မဖြစ်မီအချက်အလက်များကိုပြုပြင်နိုင်သည်။ ဘုံ output buffer လုပ်ဆောင်ချက်များကို:
ob_start () - output buffer ကို enable ။
ob_end_flush () : ကြားခံပိတ်ပြီးအကြောင်းအရာကိုထုတ်ပေးသည်။
ob_get_contents () : ကြားခံပါအကြောင်းအရာများကိုရယူပါ။
ob_list_handlers () function သည် PHP တွင်အလုပ်လုပ်နေသော function တစ်ခုဖြစ်ပြီးလက်ရှိ output buffer စာရင်းကိုပြန်ပို့သော PHP တွင် built-in function ဖြစ်သည်။ Developer များကမည်သည့်ကြားခံကိုင်တွယ်သူများကိုလက်ရှိဖွင့်ထားကြောင်းကိုတွေ့မြင်နိုင်သည်။ ဥပမာအားဖြင့်ရလဒ်ကိုချုံ့ခြင်းသို့မဟုတ်သစ်ထုတ်လုပ်ရေးအတွက်ကိုင်တွယ်ရန်အချို့သောကိုင်တွယ်မှုများရှိနိုင်သည်
// နမူနာ:လက်ရှိ output buffer handler ကိုကြည့်ပါ
print_r(ob_list_handlers());
Ob_list_Handlers () function သည်အလွန်အသုံး 0 င်သည်, အချို့သောကိစ္စရပ်များတွင်၎င်းကိုအသုံးပြုခြင်းသည်မတိကျသောသို့မဟုတ် output output buffer handlers ၏ထူးခြားသောသို့မဟုတ်ထူးခြားသောစာရင်းများကိုဖြစ်ပေါ်စေနိုင်သည်။ ဤတွင်ဖြစ်နိုင်ချေရှိသောအကြောင်းပြချက်အချို့ကိုဖော်ပြထားသည်။
ob_list_handlers မှပြန်လာသောစာရင်း () တွင်လက်ရှိတက်ကြွသော output buffer handler သာပါ 0 င်သည်။ အကယ်. output buffer ကိုဖွင့်ထားပါက ob_list_handlers () သည် အချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့သည်။ ဤကိစ္စတွင် output buffer ကိုမခိုင်မာစေရန်မှားယွင်းစွာပြုလုပ်နိုင်ပြီး၎င်းသည် buffer ကိုရှင်းလင်းရန် OB_END_CLEAN () OB_ENG_FFLUSH () ကိုသာခေါ်ဆိုခြင်းဖြစ်နိုင်သည်။
PHP သည် output buffer မျိုးစုံကိုဖွင့်ရန်ခွင့်ပြုသည်။ ဆိုလိုသည်မှာကြားခံတစ်ခုစီသည်မတူညီသောကိုင်တွယ်သူအမျိုးမျိုးရှိနိုင်ပြီးကွဲပြားခြားနားသောအချိန်များတွင်ပိတ်ပစ်။ ရှင်းလင်းနိုင်သည်။ output output buffers များကိုစီမံခန့်ခွဲခြင်းသို့မဟုတ်ကြားခံမျိုးစုံကိုစီမံခြင်းသို့မဟုတ်ကြားခံမျိုးစုံကိုမှန်ကန်စွာမသန့်ရှင်းပါက Ob_list_Handlers () သည် မတိကျသောရလဒ်များကိုပြန်ပို့နိုင်သည်။
OB_START () function သည် developer များကို buffer handlers များကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။ လက်ကိုင်မျိုးစုံသည်တူညီသောကြားခံနှင့်တွဲဖက်ပါက ob_list_handlers () ပြန်လာသောအမှာစာသည် developer များကိုရှုပ်ထွေးစေနိုင်သည်။ အထူးသဖြင့်ကိုင်တွယ်သူများကို dynamically dynamically adding သို့မဟုတ်ဖယ်ရှားခြင်းသို့မဟုတ်ဖယ်ရှားခြင်းခံရသောအခါကြားခံ၏အပြုအမူသည်မတည်မငြိမ်ဖြစ်လာနိုင်သည်။
အချို့ဖြစ်ရပ်များတွင် ob_start () နှင့်အခြား output buffer function များကိုမှားယွင်းစွာခေါ်ဆိုသည် ။ ဥပမာအားဖြင့် output buffer သည် script execution ၏မတူညီသောအဆင့်ဆင့်တွင်ဖွင့်ထားနိုင်သည်။ ၎င်းသည် function ကိုလက်ရှိကိုင်တွယ်စာရင်းကိုမှန်ကန်စွာအသိအမှတ်မပြုရန်ဖြစ်စေနိုင်သည်။
ob_list_handlers မသုံးမီ () ပထမ ဦး စွာ output buffer ကို enable လုပ်ထားပါ။ ob_list_handlers () မှန်ကန်သောစာရင်းကိုပြန်ပို့နိုင်ရန်အတွက် ob_start () ကို ခေါ်ဆိုခြင်းဖြင့် Buffer ကိုစတင်ရန်သင်စတင်နိုင်သည်။
// output ကြားခံစတင်ပါ
ob_start();
// လက်ရှိ output buffer handler ကိုရယူပါ
print_r(ob_list_handlers());
သင်၏လျှောက်လွှာသည် output buffer များစွာကိုအသုံးပြုပါကကြားခံတစ်ခုစီအတွက်ကိုင်တွယ်သူကိုမှန်ကန်စွာသတ်မှတ်ပြီးသင့်လျော်သောအချိန်၌ကြားခံကိုပိတ်ထားကြောင်းသေချာပါစေ။ Buffer ကိုရှင်းလင်းရန်သို့မဟုတ် obfer ကို obfer ကိုရှင်းလင်းရန် OB_END_FLUSH ( ) ကိုသုံးရန် OB_CLEAN ( ) ကိုသုံးနိုင်သည်။
အကယ်. သင်သည် Buffer Handlers မျိုးစုံကိုသုံးပါကသူတို့၏အမိန့်ကိုဂရုပြုပါ။ Buffer ၏မှန်ကန်သောစီမံခန့်ခွဲမှုကိုသေချာစေရန် OB_START () ကိုခေါ်သည့်အခါ callback function ကိုသင်သတ်မှတ်နိုင်သည်။
// output buffers စီမံရန် callback functions ကိုသုံးပါ
ob_start('my_callback_function');
script ၏မှန်ကန်သောတည်နေရာအတွက် ob_start () , ob_end_flush () နှင့် ob_clean) ကဲ့သို့သောလုပ်ဆောင်မှုများကိုခေါ်ဆိုရန်သေချာစေပါ။ မမှန်ကန်သောခေါ်ဆိုမှုအမိန့်သည်မတိကျသော output output buffer handler စာရင်းကိုဖြစ်ပေါ်စေနိုင်သည်။
သင့်တွင် PHP ဇာတ်ညွှန်းရှိပြီး output buffer ၏ status ကို debug လုပ်လိုပါကအောက်ပါကုဒ်ကိုသုံးနိုင်သည်။
// output ကိုကြားခံ Enable
ob_start();
// ရိုးရှင်းတဲ့ handler ထည့်ပါ
ob_start(function ($buffer) {
return str_replace('old', 'new', $buffer);
});
// အကြောင်းအရာအချို့ကို output
echo "This is old text.";
// output ကို buffered အကြောင်းအရာကိုရယူပါ
$output = ob_get_contents();
// Buffer Handlers ၏လက်ရှိစာရင်းကိုရယူပါ
$handlers = ob_list_handlers();
// ကြားခံကိုပိတ်ပါ
ob_end_flush();
// Printout အကြောင်းအရာနှင့် Handler စာရင်း
echo $output;
print_r($handlers);
ဒီဥပမာမှာ Buffer ကို enable လုပ်ဖို့ Ob_start () ကို သုံးခဲ့တယ်။ ob_list_handlers မှတဆင့် buffers ၏ကိုင်တွယ်သူစာရင်းကိုရယူပါ။
ob_list_handlers () function ကိုသုံးသောအခါ output buffer handler စာရင်းသည်တိကျသောသို့မဟုတ်ခြွင်းချက်ဖြစ်နိုင်သည်။ အဓိကအကြောင်းရင်းများတွင်မမှန်ကန်သောကြားခံ activation, output buffers အမြောက်အများကိုမမှန်မကန်လှုပ်ရှားမှု, မသင့်လျော်သောအငြင်းပွားမှုများကိုရှုပ်ထွေးစေခြင်း,