PHP တွင်ယန္တရားသည်အချက်အလက်များကို script မှ Data output ကိုကြားဖြတ်ရန်, များသောအားဖြင့်ကျွန်ုပ်တို့သည် cache ကို cache ကို cache ကိုဖွင့ ်. calmpack function ကိုဖြတ်သန်းခြင်းအားဖြင့် output content ၏လုပ်ဆောင်မှုကိုပြုပြင်ရန်စိတ်ကြိုက်ပြုလုပ်နိုင်လိမ့်မည်။
ob_list_handlers () function ကို () function ကိုလက်ရှိလှုပ်ရှားမှု output handler အားလုံးကိုကြည့်ရှုရန်အသုံးပြုနိုင်ပါသည်။
ဤဆောင်းပါးသည် cache cholk ကို ob_list_handlers မှတစ်ဆင့်မည်သို့နားလည်ရမည်ကိုသရုပ်ပြရန်လက်တွေ့ကျသောဥပမာများကို အသုံးပြု. ၎င်းတွင်ကိုယ်ပိုင် handler ကိုထည့်သွင်းရမည်ကိုသရုပ်ပြပါလိမ့်မည်။
ob_list_handlers () သည် လက်ရှိ activated output buffer processor များအားလုံးစာရင်းပေးထားသည်။ ဥပမာအားဖြင့်, အကယ်. သင်သည် Gzip Compression Module ကိုဖွင့်ထားပါက ob_gzhandler ကဲ့သို့သော processor အမည်ကိုသင်တွေ့နိုင်သည်။
ဥပမာ -
<?php
// ပုံမှန် output ကို cache ကိုဖွင့်ပါ
ob_start();
// လက်ရှိ output handler စစ်ဆေးပါ
print_r(ob_list_handlers());
ob_end_flush();
?>
output ကိုဆင်တူသည် -
Array
(
[0] => default output handler
)
အခြားစိတ်ကြိုက်ပရိုဆက်ဆာမရှိပါကသင်သည် ပုံမှန် output handler ကို သာတွေ့ရသည်။
OB_START () ကိုသုံးပြီး output ကို browser သို့မပို့မီလုပ်ငန်းများ၌ပြုလုပ်မည့်စိတ်ကြိုက်ခေါ်ဆိုမှု function ကိုသုံးနိုင်သည်။
ဤတွင်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<?php
// ထုံးစံ handlers ကိုသတ်မှတ်ပါ
function custom_uppercase_handler($buffer) {
// output အကြောင်းအရာကိုလုပ်ဆောင်ပါ,ဥပမာအားဖြင့်, စာလုံးအသေးအားလုံးကိုစာလုံးအကြီးသို့ပြောင်းပါ
return strtoupper($buffer);
}
// cache ကိုကွင်းဆက်အတွက် Custom Handler ထည့်ပါ
ob_start('custom_uppercase_handler');
// analog output ကို
echo "အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည် https://gitbox.net စမ်းသပ်စာမျက်နှာ!";
ob_end_flush();
?>
ရလဒ်ရလဒ် -
အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည် HTTPS://GITBOX.NET စမ်းသပ်စာမျက်နှာ!
သင်မြင်နိုင်သည့်အတိုင်းစာလုံးအသေးအားလုံးသည် URL ရှိ Domain Name Name Name Name Name Name ကိုစာလုံးအကြီးများအဖြစ်ပြောင်းလဲသွားသည်။
PHP ၏ output cache သည် layer multi-layer အသိုက်ကိုထောက်ပံ့သည်။ သင် ob_start () အကြိမ်ပေါင်းများစွာခေါ်ဆိုနိုင်ပြီးအလွှာတစ်ခုစီသည်အခြားအပြောင်းအလဲလုပ်ရပ်တစ်ခုကိုသတ်မှတ်နိုင်သည်။
ဥပမာ -
<?php
// ပထမ ဦး ဆုံး handler:အကြောင်းအရာများကိုအရင်းအနှီးသို့ပြောင်းပါ
function handler_upper($buffer) {
return strtoupper($buffer);
}
// ဒုတိယ handler:တိကျသောစကားလုံးများကိုအစားထိုးပါ
function handler_replace($buffer) {
return str_replace('GITBOX.NET', 'gitbox.net', $buffer);
}
// ပထမ ဦး ဆုံးပရိုဆက်ဆာကိုဖွင့်ပါ
ob_start('handler_upper');
// ဒုတိယပရိုဆက်ဆာကိုဖွင့်ပါ
ob_start('handler_replace');
// output ကိုအကြောင်းအရာ
echo "အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည် https://gitbox.net စမ်းသပ်စာမျက်နှာ!";
// ထိပ်တန်းပရိုဆက်ဆာနှင့် output ကိုပိတ်ပါ
ob_end_flush();
// အောက်ပိုင်းပရိုဆက်ဆာကိုပိတ်ပါ
ob_end_flush();
?>
ဒီဥပမာမှာ -
Handler_replace သည် ပထမ ဦး ဆုံးပြေးပြီး string ကိုအစားထိုးသည်။
Handler_upper ပြေးပြီးနောက်, လုပ်ငန်းများ၌ပါဝင်သောအကြောင်းအရာကိုအရင်းအနှီးသို့ကူးပြောင်းသည်။
ဒါကြောင့်နောက်ဆုံး output ကို:
အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည် HTTPS://gitbox.net စမ်းသပ်စာမျက်နှာ!
Handler_replace သည် Handler_upper မတိုင်မီလည်ပတ်ကြောင်းသတိပြုပါ။ ထို့ကြောင့်အစားထိုးလုပ်ငန်းများကိုအကြီးပြောင်းခြင်းကြောင့်အစားထိုးခြင်းမရှိပါ။
သငျသညျ ob_list_handlers () ကို dynnically production ကွင်းဆက်ကို dynonce check ကို dynnically check လုပ်ထားခြင်း,
<?php
ob_start('custom_uppercase_handler');
$handlers = ob_list_handlers();
print_r($handlers);
ob_end_flush();
?>
ထုတ်လုပ်မှု -
Array
(
[0] => custom_uppercase_handler
)
Custom Processor ကိုအောင်မြင်စွာထည့်သွင်းထားကြောင်းညွှန်ကြားချက်များ။
Ob_start () ကို output cache ကွင်းဆက်သို့ Custom Handlers ထည့်သွင်းရန် () ကိုသုံးပါ။
ob_list_handlers () ကိုလက်ရှိတက်ကြွသော cache ပရိုဆက်ဆာများကိုကြည့်ရှုရန်အသုံးပြုသည်။
OB_Start () သည် layer processing chinking ကွင်းဆက်ကိုဖွဲ့စည်းနိုင်သည်။
output ကိုထုတ်ယူသောအခါ encoding format နှင့်မမျှော်လင့်သောပြ problems နာများကိုဖြစ်ပေါ်စေရန်အကြောင်းအရာများကိုသတိပြုရန်အကြောင်းအရာများကိုသတိထားပါ။
ဆင်ခြင်တုံတရား cache ယန္တရားကိုအသုံးပြုရန်အတွက် PHP ပရိုဂရမ်များ၏ပြောင်းလွယ်ပြင်လွယ်မှုများကိုအကောင်အထည်ဖော်ခြင်း, တက်ကြွသောချုံ့ခြင်း, နှောင့်နှေးခြင်း,