PHP တွင် ob_list_handlers function သည်သင့်အားလက်ရှိဖွင့်ထားသော output buffer handler ကိုကြည့်ရှုရန်ခွင့်ပြုသည်။ output buffering သည် PHP တွင်ပါ 0 င်သည့်အင်္ဂါရပ်တစ်ခုဖြစ်သည်။ ဤနည်းအားဖြင့်သင်သည် output ကိုပြုပြင်ခြင်းသို့မဟုတ်ပြုပြင်ခြင်းကိုနောက်ဆုံးတွင် browser သို့မပို့မီလုပ်ဆောင်နိုင်သည်။
PHP တွင် Cache Handlers မျိုးစုံကိုကြည့်ရှုရန်နှင့်စီမံခန့်ခွဲရန် Ob_list_Handlers function ကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးကရှင်းပြပါမည်။
ob_list_handlers function ကိုလက်ရှိ Active output buffer handler ကိုစာရင်းပြုစုရန်အသုံးပြုသည်။ output buffer handler များသည် ob_start () ဟုခေါ်သောအခါတွင်လုပ်ဆောင်ချက်များကိုသတ်မှတ်ထားပြီးကြားခံပိတ်ထားသည့်အခါကွပ်မျက်ခံရသည်။
ob_list_handlers(): array
ဤလုပ်ဆောင်ချက်သည်မှတ်ပုံတင်ထားသော output buffer handler အမည်များပါ 0 င်သောခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။
ပထမ ဦး စွာ 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 ကိုပြသသည်။
အကယ်. သင်သည် 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 ကိုဖြစ်စေသည်။
အကယ်. သင်သည်ကြားခံအားလုံးကိုဖျက်လိုပါက 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); // ဗလာခင်းကျင်းပြသသင့်ပါတယ်
?>
ဒီဥပမာမှာကြားခံအားလုံး သန့် ရှင်းရေးလုပ်ထားတယ်။
အကယ်. သင်၏ 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 မှကြည့်ပါ။
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 များကိုပိုမိုထိရောက်စွာကိုင်တွယ်နိုင်ပြီးပရိုဂရမ်တုန့်ပြန်မှုမြန်နှုန်းနှင့်အသုံးပြုသူအတွေ့အကြုံများကိုတိုးတက်စေနိုင်သောပြင်ပအရင်းအမြစ်များကိုပြုပြင်ပြောင်းလဲခြင်းများပြုလုပ်နိုင်သည်။