လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ob_list_handlers ကိုအသုံးပြုပြီးမျိုးစုံ cache handlers မျိုးစုံကိုကြည့်ရှုစီမံခြင်း

ob_list_handlers ကိုအသုံးပြုပြီးမျိုးစုံ cache handlers မျိုးစုံကိုကြည့်ရှုစီမံခြင်း

gitbox 2025-05-28

PHP တွင် ob_list_handlers function သည်သင့်အားလက်ရှိဖွင့်ထားသော output buffer handler ကိုကြည့်ရှုရန်ခွင့်ပြုသည်။ output buffering သည် PHP တွင်ပါ 0 င်သည့်အင်္ဂါရပ်တစ်ခုဖြစ်သည်။ ဤနည်းအားဖြင့်သင်သည် output ကိုပြုပြင်ခြင်းသို့မဟုတ်ပြုပြင်ခြင်းကိုနောက်ဆုံးတွင် browser သို့မပို့မီလုပ်ဆောင်နိုင်သည်။

PHP တွင် Cache Handlers မျိုးစုံကိုကြည့်ရှုရန်နှင့်စီမံခန့်ခွဲရန် Ob_list_Handlers function ကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးကရှင်းပြပါမည်။

1 ။ ob_list_handlers function ကိုခြုံငုံသုံးသပ်ချက်

ob_list_handlers function ကိုလက်ရှိ Active output buffer handler ကိုစာရင်းပြုစုရန်အသုံးပြုသည်။ output buffer handler များသည် ob_start () ဟုခေါ်သောအခါတွင်လုပ်ဆောင်ချက်များကိုသတ်မှတ်ထားပြီးကြားခံပိတ်ထားသည့်အခါကွပ်မျက်ခံရသည်။

function syntax:

 ob_list_handlers(): array

ဤလုပ်ဆောင်ချက်သည်မှတ်ပုံတင်ထားသော output buffer handler အမည်များပါ 0 င်သောခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။

2 ။ Buffer Handlers ကိုကြည့်ရှုရန် ob_list_handlers ကို ဘယ်လိုသုံးရမလဲ

ပထမ ဦး စွာ Ob_list_Handlers ကို ဘယ်လိုအသုံးပြုရမလဲဆိုတာပြသထားတဲ့ရိုးရှင်းတဲ့ဥပမာကိုကြည့်ရအောင်။

 <?php
// output ကို buffering စတင်ပါ
ob_start(function($buffer) {
    // output ကြားခံ၏အဆုံးမှာ,output အကြောင်းအရာကိုပြုပြင်မွမ်းမံပါ
    return strtoupper($buffer);
});

// အကြောင်းအရာအချို့ကို output
echo "Hello, World!";

// အသုံးပြု ob_list_handlers အားလုံး output buffer ကိုင်တွယ်ကြည့်ပါ
$handlers = ob_list_handlers();

// output handler များ၏စာရင်း
print_r($handlers);
?>

ထုတ်လုပ်မှု -

 Array
(
    [0] => default output handler
    [1] => user-defined callback handler
)

ဤဥပမာတွင်ကျွန်ုပ်တို့သည် Ob_start ကို အသုံးပြု. Buffer ကိုစတင်ပြီး output ကို output ကိုစာလုံးအကြီးအဖြစ်ပြောင်းလဲစေသော callback function ကိုသတ်မှတ်ပါ။ ဆက်လက်. လက်ရှိမှတ်ပုံတင်ထားသောကြားခံကိုင်တွယ်သူအားလုံးကိုကြည့်ရှုရန် OB_List_Handlers ကို ကျွန်ုပ်တို့ခေါ်ဆိုသည်။ နောက်ဆုံး output သည် default handler နှင့်ကျွန်ုပ်တို့၏စိတ်ကြိုက်ခေါ်ဆိုမှု function ကိုပြသသည်။

3 ။ Multiple Buffer Handlers ကိုဘယ်လိုစီမံခန့်ခွဲရမလဲ

3.1 output output buffering program ကိုပိတ်ပါ

အကယ်. သင်သည် output buffer handler မလိုအပ်တော့ပါက OB_END_FLUSH သို့မဟုတ် ob_clean ကို အသုံးပြု. လက်ရှိကြားခံကိုပိတ်ရန် OB_END_FLUSH သို့မဟုတ် OB_CLEAN ကိုအသုံးပြုနိုင်သည်။

  • ob_end_flush () သည် buffer ရှိ contents များကို browser သို့ output လုပ်ပြီးကြားခံကိုပိတ်လိမ့်မည်။

  • ob_clean () ကြားခံရှိအကြောင်းအရာများကိုဖယ်ရှားပြီးကြားခံကိုပိတ်လိုက်သည်။

ဥပမာအားဖြင့်ကျွန်ုပ်တို့တွင်ကြားခံမျိုးစုံကိုစတင်ခဲ့ပြီးပထမဆုံးကြားခံကိုပိတ်ရန်လိုသည်ဆိုပါစို့။

 <?php
// ပထမ ဦး ဆုံးကြားခံစတင်ပါ
ob_start(function($buffer) {
    return strtoupper($buffer);
});

// ဒုတိယကြားခံစတင်ပါ
ob_start(function($buffer) {
    return strrev($buffer);
});

// အကြောင်းအရာအချို့ကို output
echo "Hello, World!";

// အသုံးပြု ob_list_handlers အားလုံး output buffer ကိုင်တွယ်ကြည့်ပါ
$handlers = ob_list_handlers();
print_r($handlers);

// ရလဒ်ကိုပထမ ဦး ဆုံးကြားခံနှင့်ရလဒ်ကိုပိတ်ပါ
ob_end_flush();  // ဒါက output ကိုဖြစ်လိမ့်မယ် "HELLO, WORLD!"

// အသုံးပြု ob_list_handlers နောက်တဖန် buffer handler စစ်ဆေးပါ
$handlers = ob_list_handlers();
print_r($handlers);
?>

ထုတ်လုပ်မှု -

 Array
(
    [0] => user-defined callback handler
    [1] => user-defined callback handler
)

HELLO, WORLD!
Array
(
    [0] => user-defined callback handler
)

ဒီဥပမာမှာကျွန်တော်တို့ဟာကြားခံနှစ်ခုကိုအရင်ဆုံးပါ။ ob_end_flush () ကိုခေါ်ခြင်းအားဖြင့်ပထမ ဦး ဆုံးကြားခံကိုပိတ်ထားပြီးအကြောင်းအရာသည် output ကိုဖြစ်စေသည်။

3.2 ကြားခံအားလုံးကိုဖျက်ပါ

အကယ်. သင်သည်ကြားခံအားလုံးကိုဖျက်လိုပါက Buffer အကြောင်းအရာများကိုရှင်းလင်းလိုပါက ob_clean () နှင့် ob_clean နှင့် ob_clean () ကို သုံးနိုင်သည်။

 <?php
// ကြားခံစတင်ပါ
ob_start();
echo "Hello, World!";

// အားလုံးကြားခံဖျက်ပစ်
while (ob_get_level()) {
    ob_end_clean();
}

// လက်ရှိ buffer စာရင်း output ကို
$handlers = ob_list_handlers();
print_r($handlers);  // ဗလာခင်းကျင်းပြသသင့်ပါတယ်
?>

ဒီဥပမာမှာကြားခံအားလုံး သန့် ရှင်းရေးလုပ်ထားတယ်။

4 ။ URL နှင့် buffering ကိုသုံးပါ

အကယ်. သင်၏ PHP လျှောက်လွှာတွင်ပြင်ပ APIs သို့မဟုတ်အရင်းအမြစ်များ 0 န်ဆောင်မှုများပါ 0 င်ပါက, ဥပမာအားဖြင့်, သင်သည် URL မှဒေတာများကို file_get_contents မှတဆင့်ရယူပြီးသင်၏ browser တွင်ဖော်ပြရန်လိုအပ်သည်ဆိုပါစို့။

 <?php
// output ကို buffering စတင်ပါ区
ob_start();

// သတ်မှတ်ထားသောကနေURLအကြောင်းအရာရယူပါ
$content = file_get_contents('https://gitbox.net/api/data');

// output ကိုအကြောင်းအရာ
echo $content;

// လက်ရှိ output buffer handler ကိုကြည့်ပါ
$handlers = ob_list_handlers();
print_r($handlers);

// ရလဒ်ကိုကြားခံနှင့်ရလဒ်ရှင်းလင်း
ob_end_flush();
?>

ထုတ်လုပ်မှု -

 Array
(
    [0] => default output handler
)

ဒီဥပမာမှာ Gitbox.net မှာရှိတဲ့အကြောင်းအရာကို file_get_contents တွေမှာပါဝင်ပြီး output buffer ကိုသုံးပြီးအကြောင်းအရာကိုဖမ်းယူပြီးလက်ရှိကြားခံ handler ကို ob_list_handlers မှကြည့်ပါ။

5 ။ အကျဉ်းချုပ်

ob_list_handlers များသည် developer များထုတ်လုပ်သူများအပေါ် output buffering programs များကိုရှုမြင်ရန်နှင့်စီမံခန့်ခွဲသောအလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ PHP ဖွံ့ဖြိုးတိုးတက်မှုအတွက်အထူးသဖြင့် output content processing လုပ်သည့်အခါ၎င်းသည် PHP ဖွံ့ဖြိုးတိုးတက်မှုအတွက်ပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိသည်။ လက်တွေ့တွင်, output buffer function များကိုပေါင်းစပ်ခြင်းဖြင့် output buffer function များကိုပေါင်းစပ်ခြင်းဖြင့် output buffer လုပ်ဆောင်ချက်များကိုပေါင်းစပ်ခြင်းဖြင့် output buffer function များကိုပေါင်းစပ်ခြင်း,

ဤအကြားရှိအင်္ဂါရပ်များကိုမှန်ကန်စွာအသုံးပြုခြင်းဖြင့် PHP developer များသည်အသုံးချပရိုဂရမ်များ၌ output များကိုပိုမိုထိရောက်စွာကိုင်တွယ်နိုင်ပြီးပရိုဂရမ်တုန့်ပြန်မှုမြန်နှုန်းနှင့်အသုံးပြုသူအတွေ့အကြုံများကိုတိုးတက်စေနိုင်သောပြင်ပအရင်းအမြစ်များကိုပြုပြင်ပြောင်းလဲခြင်းများပြုလုပ်နိုင်သည်။