လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> output cache ကွင်းဆက်တွင်ထုံးစံ handler ကိုထည့်သွင်းနည်း

output cache ကွင်းဆက်တွင်ထုံးစံ handler ကိုထည့်သွင်းနည်း

gitbox 2025-05-13

PHP တွင်ယန္တရားသည်အချက်အလက်များကို script မှ Data output ကိုကြားဖြတ်ရန်, များသောအားဖြင့်ကျွန်ုပ်တို့သည် cache ကို cache ကို cache ကိုဖွင့ ်. calmpack function ကိုဖြတ်သန်းခြင်းအားဖြင့် output content ၏လုပ်ဆောင်မှုကိုပြုပြင်ရန်စိတ်ကြိုက်ပြုလုပ်နိုင်လိမ့်မည်။
ob_list_handlers () function ကို () function ကိုလက်ရှိလှုပ်ရှားမှု output handler အားလုံးကိုကြည့်ရှုရန်အသုံးပြုနိုင်ပါသည်။

ဤဆောင်းပါးသည် cache cholk ကို ob_list_handlers မှတစ်ဆင့်မည်သို့နားလည်ရမည်ကိုသရုပ်ပြရန်လက်တွေ့ကျသောဥပမာများကို အသုံးပြု. ၎င်းတွင်ကိုယ်ပိုင် handler ကိုထည့်သွင်းရမည်ကိုသရုပ်ပြပါလိမ့်မည်။

1 ။ ob_list_handlers နားလည်ပါ

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 ကို သာတွေ့ရသည်။

2 ။ စိတ်ကြိုက် output processor ကိုထည့်ပါ

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 ကိုစာလုံးအကြီးများအဖြစ်ပြောင်းလဲသွားသည်။

3 ။ Processor processors ကိုထည့်ပါ

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();
?>

ဒီဥပမာမှာ -

  1. Handler_replace သည် ပထမ ဦး ဆုံးပြေးပြီး string ကိုအစားထိုးသည်။

  2. Handler_upper ပြေးပြီးနောက်, လုပ်ငန်းများ၌ပါဝင်သောအကြောင်းအရာကိုအရင်းအနှီးသို့ကူးပြောင်းသည်။

ဒါကြောင့်နောက်ဆုံး output ကို:

 အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည် HTTPS://gitbox.net စမ်းသပ်စာမျက်နှာ!

Handler_replace သည် Handler_upper မတိုင်မီလည်ပတ်ကြောင်းသတိပြုပါ။ ထို့ကြောင့်အစားထိုးလုပ်ငန်းများကိုအကြီးပြောင်းခြင်းကြောင့်အစားထိုးခြင်းမရှိပါ။

4 ။ ob_list_handlers နှင့်ပေါင်းစပ် dynamic ရှာဖွေတွေ့ရှိမှု ()

သငျသညျ 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 ပရိုဂရမ်များ၏ပြောင်းလွယ်ပြင်လွယ်မှုများကိုအကောင်အထည်ဖော်ခြင်း, တက်ကြွသောချုံ့ခြင်း, နှောင့်နှေးခြင်း,