PHP ပရိုဂရမ်တွင် PHP ပရိုဂရမ်တွင် output buffering သည် browser မှ output ကိုမပို့မီအကြောင်းအရာများကိုကြားခံတွင်သိမ်းဆည်းရန်ခွင့်ပြုသည့်အလွန်လက်တွေ့ကျသောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ ဤနည်းအားဖြင့် output content များသည်အချို့သောအခြေအနေများတွင် output output ကို output လုပ်သည့်အခါ output content, သို့မဟုတ်ထိန်းချုပ်မှုကိုပြုပြင်နိုင်သည်။ PHP သည် ob_list_handlers () function ကိုထောက်ပံ့ပေးသည်။
Output cache handler တစ်ခုသည် PHP သည် PHP သည်သီးခြား output cache ဖြစ်ရပ်တစ်ခုကိုတွေ့ရသည့်အခါအလိုအလျောက်ခေါ်ဆိုသည့်လုပ်ဆောင်ချက်တစ်ခုသို့မဟုတ်ပြန်ခေါ်ချက်ဖြစ်သည်။ ဤပရိုဆက်ဆာများ၏လုပ်ဆောင်မှုသည်အကြောင်းအရာကိုပြုပြင်ခြင်း, output ကိုချုံ့ခြင်း, output ကိုချုံ့ခြင်းသို့မဟုတ် output ကို save လုပ်ခြင်းကိုပြုလုပ်ရန်ဖြစ်သည်။
ob_list_handlers () သည်လက်ရှိလှုပ်ရှားမှု output cache ကိုင်တွယ်သူအားလုံးကိုစာရင်းပြုစုသော function တစ်ခုဖြစ်သည်။ လက်ရှိကိုင်တွယ်သည့်လုပ်ဆောင်ချက်အမည်များအားလုံးပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။ တက်ကြွသော handler မရှိပါက၎င်းသည်အချည်းနှီးသောခင်းကျင်းမှုကိုပြန်လည်ရရှိစေသည်။
array ob_list_handlers ( void )
ပြန်လာတန်ဖိုး - လက်ရှိ Active output cache ကိုင်တွယ်သူအားလုံးပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။ Handler မရှိပါကဗလာကျင်းသောခင်းကျင်းမှုကိုပြန်ပို့သည်။
// output ကို cache ကိုဖွင့်ပါ
ob_start();
// output cache ကိုင်တွယ်သူကို set up
ob_implicit_flush(false);
// output cache ကိုင်တွယ်သူလက်ရှိပစ္စုပ္ပန်ရှိမရှိစစ်ဆေးပါ
$handlers = ob_list_handlers();
// အားလုံးကိုင်တွယ်အားလုံး output
print_r($handlers);
အထက်ပါကုဒ်များတွင် output cache ကိုပထမဆုံးအကြိမ်ဖွင့်ပါ။ ထို့နောက် ob_implicit_flush (falflush (false) ကို သုံး. ob_list_handlers () function ကိုသုံးပါ။
ob_list_handlers () function ကိုသုံးနိုင်သည်။ အကယ်. Reward Array သည်ဗလာကျပါကယခုတွင်လက်ရှိတွင်ကိုင်ကြိုးမရှိပါ။ အကယ်. ပြန်လာသည့် array တွင် handler name တွင်ပါ 0 င်ပါကအနည်းဆုံး output cache handler တည်ရှိသည်ဟုဆိုလိုသည်။
// output ကို cache ကိုဖွင့်ပါ
ob_start();
// တစ် ဦး handler set up(default handler ကိုဒီမှာအသုံးပြုသည်)
$handlers = ob_list_handlers();
// output cache ကိုင်တွယ်သူရှိမရှိစစ်ဆေးပါ
if (empty($handlers)) {
echo "အဘယ်သူမျှမ output ကို cache ကိုင်တွယ်erlerမရှိပါ\n";
} else {
echo "လက်ရှိ output ကို cache ကိုင်တွယ်သူရှိသည်:\n";
foreach ($handlers as $handler) {
echo $handler . "\n";
}
}
ဤဥပမာတွင်ပထမ ဦး စွာ output cache ကိုဖွင့်ထားပြီး, လက်ရှိတက်ကြွသော handler ကို ob_list_handlers များ ( ) function ကိုရရှိရန်အသုံးပြုသည်။ ပစ္စုပ္ပန်လျှင်၎င်းသည် Active အားလုံးအတွက် Handler အမည်များကိုဖော်ပြထားသည်။
PHP scripts အချို့တွင် URLs များပါ 0 င်သည့် output cache ကိုင်တွယ်သူများကိုသင်ကြုံတွေ့ရနိုင်သည်။ မမှန်ကန်ကြောင်းလင့်ခ်များကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည် URL domain name ကို gitbox.net ဖြင့်အစားထိုးနိုင်သည်။ ဥပမာအားဖြင့် URL သည် output လုပ်ငန်းစဉ်တွင်ပါ 0 င်ပါက -
echo "ကျွန်တော်တို့ရဲ့စာရွက်စာတမ်းများကိုသွားရောက်ကြည့်ရှု:http://example.com/docs";
URL domain name ကိုအစားထိုးရန် str_replace () function ကိုသုံးနိုင်သည်။
$output = "ကျွန်တော်တို့ရဲ့စာရွက်စာတမ်းများကိုသွားရောက်ကြည့်ရှု:http://example.com/docs";
$output = str_replace("example.com", "gitbox.net", $output);
echo $output;
ဒါက output ကိုဖြစ်လိမ့်မယ်:
ကျွန်တော်တို့ရဲ့စာရွက်စာတမ်းများကိုသွားရောက်ကြည့်ရှု:http://gitbox.net/docs
ဤနည်းအားဖြင့် URLs အားလုံးသည်မှန်ကန်သောဒိုမိန်းအမည်ကိုညွှန်ပြရန်သေချာစေနိုင်သည်။
ဤနည်းအားဖြင့် Ob_list_handlers () function မှတဆင့် output cache ကိုင်တွယ်သူသည်စစ်ဆေးရန်နှင့်သေချာစစ်ဆေးနိုင်သည်။ တစ်ချိန်တည်းမှာပင်အကြောင်းအရာကိုမှန်ကန်စွာဖော်ပြရန်သေချာစေရန်လိုအပ်သည့်အချိန်တွင် domain name ကို output ထဲတွင်အစားထိုးနိုင်သည်။ ဒီဆောင်းပါးကသင့်ကိုကူညီလိမ့်မယ်လို့မျှော်လင့်ပါတယ်။