လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ဒေတာပုံစံနှင့် ob_list_handlers မှပြန်လာသော၎င်း၏ခွဲခြမ်းစိတ်ဖြာနားလည်သဘောပေါက်

ဒေတာပုံစံနှင့် ob_list_handlers မှပြန်လာသော၎င်း၏ခွဲခြမ်းစိတ်ဖြာနားလည်သဘောပေါက်

gitbox 2025-05-20

PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည် output buffering ၏ယန္တရားကိုမကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ PHP သည် output output buffering ကိုကိုင်တွယ်ရန်လုပ်ငန်းဆောင်တာများစွာကိုထောက်ပံ့ပေးသည်။ အရေးကြီးသောလုပ်ဆောင်ချက်တစ်ခုမှာ ob_list_handlers () ဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည်လက်ရှိတက်ကြွသော output buffer handlers စာရင်းကိုပြန်ပို့ရန်အသုံးပြုနိုင်သည်။ ၎င်းကိုများသောအားဖြင့် output ကို buffering လုပ်ငန်းလည်ပတ်မှုများကို debug လုပ်ရန်သို့မဟုတ်စီမံခန့်ခွဲရန်အသုံးပြုသည်။

1 ။ ob_list_handlers function ကိုခြုံငုံသုံးသပ်ချက်

OB_List_Handlers () သည် လက်ရှိမှတ်ပုံတင်ထားသော output buffer handler များ၏အမည်များအားလုံး၏အမည်များပါ 0 င်သော inarray တစ်ခုဖြစ်သော built-in php function ဖြစ်သည်။ output buffer handler သည် browser သို့မပို့မီ Buffer တွင်အချက်အလက်များကိုကြားခံတစ်ခုတွင်လုပ်ဆောင်ရန်နည်းလမ်းဖြစ်သည်။

ဤလုပ်ဆောင်ချက်၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 array ob_list_handlers();

2 ။ ပြန်လာဒေတာ format နဲ့

OB_List_Handlers () function ၏ return value သည် index array ဖြစ်ပြီး element တစ်ခုစီသည်မှတ်ပုံတင်ထားသော output buffer handler ကိုကိုယ်စားပြုသော string တစ်ခုဖြစ်သည်။ အထူးသဖြင့်ကိုင်ကြိုးတစ်ခုစီသည် function name သို့မဟုတ် output buffer တွင်အချက်အလက်များကိုလုပ်ဆောင်ရန်အသုံးပြုသောအတန်းအစားနည်းလမ်းဖြစ်သည်။

ဥပမာအားဖြင့်:

 ob_start(); // output ကိုကြားခံဖွင့်ပါ
ob_start("ob_gzhandler"); // Handler မှတ်ပုံတင်ပါ
ob_start("ob_bzhandler"); // အခြား handler ကိုမှတ်ပုံတင်ပါ

$handlers = ob_list_handlers();
print_r($handlers);

အထက်ပါကုဒ်သည်အောက်ပါနှင့်ဆင်တူသည့်အရာတစ်ခုကိုထုတ်လုပ်လိမ့်မည်။

 Array
(
    [0] => ob_bzhandler
    [1] => ob_gzhandler
)

ဤနေရာတွင် output သည် BZip2 နှင့် Gzip ၏ compression ကိုကိုင်တွယ်သော ob_bzhandler နှင့် ob_gzhandler တို့တွင် လက်ရှိတွင်ကိုင်တွယ်သူနှစ် ဦး တည်ရှိနေသည်ကိုပြသသည်။

3 ။ ob_list_handlers ရဲ့ပြန်လာတန်ဖိုးကိုဘယ်လိုခွဲခြမ်းစိတ်ဖြာနည်း။

ob_list_handlers ၏ပြန်လာတန်ဖိုးကိုမည်သို့ခွဲခြမ်းစိတ်ဖြာရမည်ကိုနားလည်ရန် () , ကျွန်ုပ်တို့၏ပြန်လာအချက်အလက်ပုံစံကိုနားလည်ရန်လိုအပ်သည်။ Returned Array ရှိ Element တစ်ခုစီသည်မှတ်ပုံတင်ရန်အမိန့်စီစဉ်ပေးသည့်အသုံးပြုသော output buffer handler ကိုကိုယ်စားပြုသည်။ ထို့ကြောင့်, သင်က array ၏အညွှန်းကိန်းအပေါ်အခြေခံပြီးမှတ်ပုံတင်ထားသောကိုင်တွယ်သူများကိုတိုက်ရိုက်ကြည့်ရှုနိုင်ပါသည်။

ဥပမာအားဖြင့်, သင်ပထမ ဦး ဆုံးမှတ်ပုံတင်ထားသော output buffer handler ကိုသိလိုပါကပထမ element ကို array ရှိပထမ element ကိုရယူနိုင်သည်။

 $handlers = ob_list_handlers();
echo $handlers[0]; // ပထမ ဦး ဆုံးမှတ်ပုံတင် handler ၏အမည် output

4 ။ ၎င်းကိုလက်တွေ့ကျသော application များတွင်မည်သို့အသုံးပြုရမည်နည်း။

လက်တွေ့ကျသောအပလီကေးရှင်းများတွင် ob_list_handlers () ကိုမကြာခဏ output buffering programs မျိုးစုံကို debug လုပ်ရန်နှင့်စီမံခန့်ခွဲရန်မကြာခဏအသုံးပြုသည်။ ဥပမာအားဖြင့်, သင့်တွင် output buffer handlers မျိုးစုံရှိပါကသင်မှန်ကန်သောအမိန့်တွင်လုပ်ဆောင်ရန်သေချာစေရန်လက်ရှိအသုံးပြုသောကိုင်တွယ်သူများကိုကြည့်လိုသည်။ လက်ရှိ handlers များကို ob_list_handlers () function မှတဆင့်သင်ရရှိနိုင်ပါသည်။

 $handlers = ob_list_handlers();
if (in_array("ob_gzhandler", $handlers)) {
    // မှတ်ပုံတင်လျှင်Gzipcompression handler,လိုအပ်သကဲ့သို့ဖယ်ရှားသို့မဟုတ်ပြောင်းလဲနိုင်ပါတယ်
    ob_end_clean(); // လက်ရှိကြားခံရှင်းလင်းပါ
}

5 ။ အကျဉ်းချုပ်

ob_list_handlers () သည်လက်ရှိမှတ်ပုံတင်ထားသော output buffer handlers များကိုစာရင်းပြုစုရန်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်း၏ return တန်ဖိုးသည်ခင်းကျင်းတစ်ခုဖြစ်ပြီး element တစ်ခုစီသည် handler ၏အမည်ဖြစ်သည်။ ဤလုပ်ဆောင်မှုသည် developer များကို output buffering ၏အပြုအမူကိုအလွယ်တကူကြည့်ရှုနိုင်ပြီးစီမံခန့်ခွဲနိုင်သည်။