PHP သည် script execution စဉ်အတွင်း output ကိုထိန်းချုပ်နိုင်အောင်ထိန်းချုပ်နိုင်သည့်အလွန်အစွမ်းထက်သော output output function ကိုထောက်ပံ့ပေးသည်။ ob_list_handlers function သည် PHP output buffer-unfornture related functions များရှိကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်လက်ရှိကြားခံ stack ရှိ handler အားလုံးကိုစာရင်းပြုစုရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်မှုကိုအသုံးပြုခြင်းအားဖြင့် developer များသည်မှတ်ပုံတင်ထားသော output buffering programs နှင့်သူတို့၏ application programs အားလုံးကိုအလွယ်တကူကြည့်ရှုနိုင်သည်။
ဤဆောင်းပါးသည် Ob_list_Handlers ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြရန်နှင့်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဤလုပ်ဆောင်မှုကိုကျိုးကြောင်းဆီလျော်စွာအသုံးပြုခြင်းကိုသင့်တင့်လျောက်ပတ်စွာအသုံးချနိုင်အောင်မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။
PHP တွင် output buffering နည်းပညာသည် browser သို့တိုက်ရိုက်ပို့မည့်အစား script execution တွင် outpution နှင့်လုပ်ငန်းစဉ်များကိုသိမ်းဆည်းရန်ခွင့်ပြုသည်။ ဤနည်းအားဖြင့် developer များ output မတိုင်မီပြုပြင်, အစားထိုးသို့မဟုတ် redirect နိုင်ပါတယ်။ PHP တွင် output buffering တွင် ob_start , ob_end_flush , ob_flush ကဲ့သို့သောလုပ်ဆောင်ချက်များကိုပါ 0 င်သည်။
ob_list_handlers function သည်ဤ buffer function များနှင့်အလုပ်လုပ်သည်။ ၎င်းသည် Buffer ၏အကြောင်းအရာများကိုကိုင်တွယ်သောလက်ရှိကြားခံ, အထူးသဖြင့်ကိုင်တွယ်သူများ၏အခြေအနေကိုကြည့်ရှုရန်ကူညီနိုင်သည်။
ob_list_handlers သည် PHP မှပေးသော built-in function တစ်ခုဖြစ်သည်။ ၎င်း၏ရည်ရွယ်ချက်မှာလက်ရှိ output buffer stack ရှိ handlers အားလုံးကိုစာရင်းပြုစုထားသည့်ခင်းကျင်းမှုကိုပြန်ပေးရန်ဖြစ်သည်။ output buffer stack ကို handler မျိုးစုံရေးထားပြီးကိုင်တွယ်သူတိုင်းသည်ကြားခံပါ 0 င်သည့်အကြောင်းအရာများအပေါ်အချို့သောစစ်ဆင်ရေးကိုလုပ်ဆောင်ရန်တာဝန်ရှိသည်။
array ob_list_handlers(void);
ဒီ function မှာ parameters တွေကိုရှိပါတယ်။
လက်ရှိ output buffer stack တွင်မှတ်ပုံတင်ထားသော handler အမည်များအားလုံးပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။ မည်သည့်ကိုင်တွယ်သူမရှိသေးပါကအချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့သည်။
လက်ရှိ obsist ကြားခံအတွက်ကိုင်တွယ်သူအားလုံးကိုကြည့်ရှုရန် Ob_list_Handlers ကို မည်သို့အသုံးပြုရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<?php
// output ကို buffering စတင်ပါ
ob_start();
// Custom Handler မှတ်ပုံတင်ပါ
ob_start(function ($buffer) {
return strtoupper($buffer); // output ကိုအရင်းအနှီးသို့ပြောင်းပါ
});
// အကြောင်းအရာအချို့ကို output
echo "hello, world!";
// အသုံးပြုob_list_handlersလက်ရှိ buffer stack အတွက် handlers ကြည့်ရှုပါ
$handlers = ob_list_handlers();
// Print Handler စာရင်း
print_r($handlers);
// အဆုံးသတ်နှင့် output ကို buffered အကြောင်းအရာ
ob_end_flush();
?>
ob_start () : output ကို buffering စတင်ပါ။ ယခုအချိန်တွင် output ကို browser သို့တိုက်ရိုက်ပို့မည့်အစားသိမ်းပိုက်လိမ့်မည်။
ob_start (function) {buffer) {buffer) {buffer) : စိတ်ကြိုက် output handler ကိုမှတ်ပုံတင်ပါ။ Buffer ၏ contains မှစာလုံးအကြီးများကိုပြောင်းလဲစေသောစိတ်ကြိုက် output handler ကိုမှတ်ပုံတင်ပါ။
ECHO "Hello, World!" : output content ကိုပထမ ဦး ဆုံးဖမ်းမိခြင်းနှင့် handler ကပြောင်းလဲလိမ့်မည်။
ob_list_handlers () - လက်ရှိ output buffer stack တွင် handlers အားလုံးကိုရရှိသည်။
Print_R ($ handlers) - Buffer Stack ၏ status ကိုနားလည်ရန်လက်ရှိကိုင်ကြိုးစာရင်းကိုထုတ်ပါ။
ob_end_flush () : နောက်ဆုံးရလဒ်အဆုံး buffering နှင့် output ကိုနောက်ဆုံးရလဒ်။
Array
(
[0] => callback
[1] => default output handler
)
HELLO, WORLD!
ဤဥပမာတွင် ob_list_handlers များသည် လက်ရှိကြားခံ stack တွင်ကိုင်တွယ်သူနှစ် ဦး ကိုပြသသည့်ခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။
Callback : ကျွန်ုပ်တို့၏မှတ်ပုံတင်ထားသော Custom Handler သည် buffered contains ကိုစာလုံးအကြီးသို့ပြောင်းလဲစေသည်။
ပုံမှန် output handler : PHP ၏မူလ output handler ။
ob_list_handlers function ကိုအသုံးပြုခြင်းသည် developer များပိုမိုကောင်းမွန်စွာစီမံခန့်ခွဲနိုင်ရန်နှင့် Debug output buffers များကိုကူညီနိုင်သည်။ ၎င်း၏ application အခြေအနေများတွင်အောက်ပါရှုထောင့်များကိုသာကန့်သတ်ထားခြင်းမရှိပါ။
Debugging output buffer : အကယ်. သင်သည်ဖွံ့ဖြိုးရေးကာလအတွင်း output buffer handlers မျိုးစုံကိုသုံးပါက Ob_list_Handlers များသည် မည်သည့်ကိုင်တွယ်သူများမှတ်ပုံတင်ထားကြောင်းနားလည်ရန်ကူညီနိုင်သည်။ ဤနည်းအားဖြင့်မမျှော်လင့်သော output ပြနာများကြုံတွေ့ရသောအခါပြ problem နာကိုလျင်မြန်စွာတည်ရှိနိုင်သည်။
Multi-layer buffer management : ရှုပ်ထွေးသော application များတွင် Multiple Multiple Multiple Multiple Multiple Multiple Multiple Multiple Multiple Multiple Multiple Multiple Multiple Multiple Multiple Multiple Multiple Multiple Multiple Multiple) ob_list_handlers , cache ကိုမျှော်လင့်ချက်များနှင့်အညီကိုင်တွယ်ဖြေရှင်းရန်ကြားခံအလွှာတစ်ခုစီ၏ကိုင်တွယ်သူများကိုသင်ကြည့်ရှုနိုင်သည်။
Custom output processing - အထူးအခြေအနေများတွင် developer များသည်မတူညီသောလိုအပ်ချက်များနှင့်အညီ output procession program ကိုပြောင်းလဲရန်လိုအပ်နိုင်သည်။ ob_list_handlers function သည် developer များကွဲပြားခြားနားသောကြားခံအဆင့်များတွင်လိုအပ်သောပြုပြင်ပြောင်းလဲမှုများပြုလုပ်ရန်ကူညီနိုင်သည်။
Content filtering : Custom Buffering Handler နှင့်ပေါင်းစပ်ပြီး developer များသည် output content ကိုကြည့်ရှုရန်နှင့်ပြုပြင်ရန် ob_list_handlers ကို သုံးနိုင်သည်။ ဥပမာအားဖြင့် HTML သို့မဟုတ် JSONs ၏တုံ့ပြန်မှုများကိုထုတ်လုပ်သည့်အခါဤလုပ်ငန်းများကိုကိုင်တွယ်ရန်ကိုင်တွယ်ရန်ကိုင်တွယ်ရန်သုံးရန်အသုံးပြုနိုင်သည့် format ကိုတိကျသောပုံစံဖြင့်ပြုပြင်ရန်လိုအပ်နိုင်သည်။
ob_list_handlers သည် PHP တွင်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ လက်ရှိ output buffer stack ရှိ handlers အားလုံးကိုစာရင်းပြုစုရန်နှင့် Handler တစ်ခုစီ၏အခန်းကဏ် application ကိုနားလည်ရန်ကူညီနိုင်သည်။ ဤလုပ်ဆောင်မှုကိုအသုံးချခြင်းအားဖြင့် developer များက PHP ၏ output buffering ယန္တရားကိုပိုမိုထိရောက်စွာစီမံခန့်ခွဲနိုင်သည်။
ဤဆောင်းပါးသည် ob_list_handlers ၏အသုံးပြုမှုကိုနားလည်ရန်နှင့် output cache ကိုလုပ်ဆောင်ခြင်းကိုပိုမိုကောင်းမွန်စေရန်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်၎င်းကိုအသုံးဝင်သည်ကိုကျွန်ုပ်မျှော်လင့်ပါသည်။ အကယ်. သင်သည်လက်တွေ့တွင်ပြ problems နာများရှိသည့်မည်သည့်ပြ problems နာကိုမဆိုကြုံတွေ့ရပါက ထပ်မံ. ဆွေးနွေးရန်နှင့်ထပ်မံဆက်သွယ်ပြောဆိုရန်ကြိုဆိုပါသည်။