PHP တွင် output cache စီမံခန့်ခွဲမှုသည် developer များအားထိန်းချုပ်ရန်နှင့်စာမျက်နှာ output ဖြစ်စဉ်ကိုပိုမိုကောင်းမွန်စေရန်ကူညီနိုင်သည့်အလွန်အရေးကြီးသောအယူအဆတစ်ခုဖြစ်သည်။ output cache ကိုအသုံးပြုခြင်းအားဖြင့် developer များသည် browser သို့တိုက်ရိုက်ပို့မည့်အစားပရိုဂရမ်၏ output ကိုမှတ်ဉာဏ်တွင်သိမ်းဆည်းနိုင်သည်။ ၎င်းသည်စွမ်းဆောင်ရည်ကိုတိုးတက်စေနိုင်သည်, ဆာဗာဝန်ဝန်ထုပ်ဝန်ပိုးကိုလျှော့ချရန်, PHP output cache functions များတွင် ob_start () , ob_end_fandluss () , ob_list_fandluss () ,
ဤဆောင်းပါးတွင် ob_list_handlers function နှင့် ob_start ကိုမည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့အာရုံစိုက်မည်။
ob_start () သည် PHP တွင် output cache ကိုစတင်ရန်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဒီ function ကိုခေါ်ပြီးနောက် output ကို output ကြားခံတွင်ယာယီသိမ်းဆည်းထားလိမ့်မည်။ ၎င်းသည်အကြောင်းအရာများကိုပြုပြင်မွမ်းမံခြင်းကဲ့သို့သောနောက်ဆက်တွဲအပြောင်းအလဲအတွက်ပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိစေသည်။
ob_start();
echo "Hello, world!";
အထက်ပါကုဒ်နမူနာတွင် ပဲ့တင်သံ ၏ contents များသည်ချက်ချင်း output မဟုတ်ဘဲ cache တွင်သိုလှောင်ထားသည်။ ob_end_flush () ကို ခေါ်ခြင်းဖြင့်အကြောင်းအရာများကို browser သို့ output လုပ်နိုင်သည်။
ob_list_handlers () သည် PHP တွင်အခြားလုပ်ဆောင်ချက်တစ်ခုဖြစ်ပြီးလက်ရှိ activated output buffer handlers များစာရင်းကိုရရှိသောအခြားလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုဖြင့် developer များက activated ကြားခံမန်နေဂျာများအား Activated Buffer Managers များအားလုံးကိုရှုမြင်ပြီးလိုအပ်သည့်အခါစီမံခန့်ခွဲနိုင်သည်။
ob_start();
ob_start('ob_gzhandler'); // စွမ်းဆောင်နိုင်စေgzipချုံ့ခြင်း
$handlers = ob_list_handlers();
print_r($handlers);
Ob_list_Handlers မှပြန်လာသောအကြောင်းအရာ () သည်လက်ရှိကြားခံမှအသုံးပြုသော handler အမည်များအားလုံးပါ 0 င်သည့်နေရာတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည်အလွန်အသုံးဝင်သည်။ Gzip Compression ကဲ့သို့သောသီးခြား outputy handlers များကိုဖွင့်ထားသည့် Developer များကစစ်ဆေးရန်ကူညီနိုင်သည်။
ob_list_handlers () နှင့် ob_start () ကိုပေါင်းစပ်ခြင်းဖြင့်သင်၏ပရိုဂရမ်တွင် output cache များကိုသင်ပုံမှန်ထိန်းချုပ်နိုင်ပြီးစီမံနိုင်သည်။ ဥပမာအားဖြင့် Cache Handlers စာရင်းကိုတိကျသောလုပ်ဆောင်ချက်တစ်ခုပြုလုပ်ရာတွင်ပြုလုပ်သော်ကိုင်တွယ်သူများကိုအသုံးပြုရန်သို့မဟုတ်ပိတ်ထားသည့်အခါသင်ကြည့်ရှုနိုင်သည်။
// ပုံမှန် output ကို cache ကိုစတင်ပါ
ob_start();
// စွမ်းဆောင်နိုင်စေgzipချုံ့ခြင်း
ob_start('ob_gzhandler');
// လက်ရှိ cache handler စာရင်းကိုရယူပါ
$handlers = ob_list_handlers();
echo "လက်ရှိ output ကို cache ကိုင်တွယ်:\n";
print_r($handlers);
// အကြောင်းအရာအချို့ကို output
echo "ဤသည်အကြောင်းအရာ၏ cached အပိုင်းအစတစ်ခုဖြစ်သည်。";
// output ကိုဖြည့်စွက်
ob_end_flush();
ဒီဥပမာမှာ Ob_start ('ob_gzhandler) မှတစ်ဆင့် gzip compression ကို enable လုပ်ပါ။ ob_list_handlers များ () မည်သည့်ကိုင်တွယ်သူများသည်မည်သည့်ကိုင်တွယ်သူများကိုဖွင့်ပြီးပုံနှိပ်ထုတ်ဝေသည်ကိုကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်။ နောက်ဆုံးအနေဖြင့်သိုလှောင်ထားသောအကြောင်းအရာသည် ob_end_flush မှတဆင့် browser မှ output ကိုမှ output ကိုဖြစ်သည်။
ob_list_handlers () သည်လက်တွေ့ကျသော application များတွင်အသုံးဝင်သည်သာမက debugging tool တစ်ခုအဖြစ်လည်းအသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်, output သည်မျှော်လင့်ထားသည့်အတိုင်းအလုပ်မလုပ်နိုင်ကြောင်းသင်တွေ့ရှိသည့်အခါ,
ob_start();
ob_start('ob_gzhandler');
// လက်ရှိ cache handler ရယူပါ
$handlers = ob_list_handlers();
if (in_array('ob_gzhandler', $handlers)) {
echo "gzipချုံ့ခြင်း已စွမ်းဆောင်နိုင်စေ。\n";
} else {
echo "gzipချုံ့ခြင်း未စွမ်းဆောင်နိုင်စေ。\n";
}
ob_end_flush();
အထက်ပါကုဒ်များမှတစ်ဆင့် Gzip Compression ကိုဖွင့်ထားပြီးရလဒ်များကို အခြေခံ. ၎င်းကိုပြုလုပ်နိုင်သည်ကိုသင်ရှာဖွေတွေ့ရှိနိုင်သည်။
ob_list_handlers () ob_start နှင့်အတူ ob_start () ကို အသုံးပြုခြင်းသည်အထူးသဖြင့်ရလဒ်များကို debugging လုပ်သည့်အခါ output cache များကိုပြောင်းလွယ်ပြင်လွယ်ထိန်းချုပ်ရန်နှင့်ထိန်းချုပ်ရန်ခွင့်ပြုသည်။ ဤနှစ်ခုပေါင်းစပ်မှုသည်ရှုပ်ထွေးသော Page output တွင်ထိရောက်သော cache စီမံခန့်ခွဲမှုရရှိရန်ကူညီနိုင်သည်။
ob_start () ကို ခေါ်ပြီးနောက် (), ob_end_flush () သို့မဟုတ် ob_lean () ကိုခေါ်သည်အထိရလဒ်အားလုံးကိုသိမ်းဆည်းထားလိမ့်မည်။
လက်ရှိဖွင့်ထားသည့် output buffer handlers များအားလုံးကို ob_list_handlers မှတဆင့်ကြည့်ရှုနိုင်သည်။
အချို့သောရှုပ်ထွေးသော application များ၌ Gzip Compression, Content Replacement Enc. ကဲ့သို့သော cache ကိုင်တွယ်သူများကိုပေါင်းစပ်ခြင်းဖြင့်ပိုမိုအဆင့်မြင့်သော optimization ကိုရရှိနိုင်ပါသည်။
ဤဆောင်းပါးမှတစ်ဆင့် output cache စီမံခန့်ခွဲမှုအတွက် Ob_list_handlers () ob_start () ကို မည်သို့အသုံးပြုရမည်ကိုပိုမိုနားလည်ရန်မျှော်လင့်ပါသည်။