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

ob_list_handlers နှင့် ob_get_contents များကိုအတူတကွအသုံးပြုရန်အဆင့်မြင့်အချက်များ

gitbox 2025-05-14

PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် output buffering သည်အလွန်အရေးကြီးသော်လည်းမကြာခဏသတိမမူမိသောအင်္ဂါရပ်ဖြစ်သည်။ ဆင်ခြင်တုံတရားနှစ်ခုကို ob_list_handlers () နှင့် ob_get_contents () ကို အသုံးပြု. buffer အကြောင်းအရာကိုပိုမိုဂရုတစိုက် သုံး. စွမ်းဆောင်ရည်ပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။ ဤဆောင်းပါးသည်ဤဆောင်းပါးသည်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုအသေးစိတ်ဖော်ပြရန်နှင့်၎င်းတို့၏အစွမ်းထက်သောစွမ်းအားကိုအသေးစိတ်ဖော်ပြရန်နှင့်သူတို့၏အင်အားကြီးစွမ်းအားကိုဥပမာအားဖြင့်ပြသပါလိမ့်မည်။

output ကိုကြားခံဆိုတာဘာလဲ။

output buffering သည် PHP ကိုရည်ညွှန်းသည်။ script မှထုတ်လုပ်သော output ကို browser သို့တိုက်ရိုက်ပို့မည့်အစား script မှထုတ်လုပ်သော output ကို buffer ထဲသို့ထည့်သွင်းရန်ဖြစ်သည်။ ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်အကြောင်းအရာများကိုပြုပြင်ခြင်း, output ကိုပြုပြင်ခြင်း, ဖိအားပေးခြင်း,

output buffering နှင့်သက်ဆိုင်သောဘုံလုပ်ဆောင်ချက်များပါဝင်သည်:

ob_list_handlers () function ကိုမှနိဒါန်း

ob_list_handlers () output buffer handlers အသုံးပြုသောလက်ရှိစာရင်းအားလုံးကိုစာရင်းပြုစုရန်အသုံးပြုသည်။ များသောအားဖြင့်ရှုပ်ထွေးသော application များရှိ output stack ၏ status ၏ status ကို debugging သို့မဟုတ်အတည်ပြုရန်အတွက်အသုံးပြုခဲ့သည်။

ဥပမာ -

 <?php
ob_start();
echo "အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည်:https://gitbox.net";

print_r(ob_list_handlers());

ob_end_flush();
?>

output ကိုဆင်တူသည် -

 Array
(
    [0] => default output handler
)

၎င်းသည်လက်ရှိကြားခံသည်ပုံမှန် output handler ကိုအသုံးပြုနေသည်ဟုဖော်ပြသည်။

ob_get_contentents () function ကိုမှနိဒါန်း

ob_get_contents () သည် လက်ရှိကြားခံ၏ contents ကိုပြန်ပို့သော်လည်းကြားခံကိုမရှင်းလင်းပါ။ များသောအားဖြင့်ဖတ်ရန်, process သို့မဟုတ် output data များကိုဖတ်ရန်အသုံးပြုသည်။

ဥပမာ -

 <?php
ob_start();
echo "<p>ဝမ်းသာစွာနှုတ်ဆက်ခြင်း <a href='https://gitbox.net'>GitBox</a>!</p>";

$content = ob_get_contents();
echo "<!-- စာမျက်နှာအကြောင်းအရာအရှည်:" . strlen($content) . " -->";

ob_end_flush();
?>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည် Output lead for on Output ကိုစာမျက်နှာထဲသို့မှတ်ချက်ပေးရန်အချက်အလက်များကိုထည့်သွင်းပါ။

ob_list_handlers () နှင့် ob_get_contentents () ကိုပေါင်းစပ်ပါ

ဤလုပ်ဆောင်ချက်နှစ်ခုကိုအတူတကွအသုံးပြုခြင်းသည်လက်ရှိကြားခံအခြေအနေအပေါ် အခြေခံ. စာမျက်နှာမှထုတ်ယူခြင်းသို့မဟုတ်ရှုပ်ထွေးသောကြားခံများ၏အပြုအမူကို debing လုပ်ခြင်းကဲ့သို့သော output လုပ်ခြင်းကဲ့သို့သော output ကိုထိန်းချုပ်ရန်ခွင့်ပြုသည်။

ပြီးပြည့်စုံသောဥပမာ -

 <?php
ob_start();

// စာမျက်နှာ output ကို Simulate
echo "<h1>GitBox - ပရော်ဖက်ရှင်နယ်ကုဒ် hosting ဝန်ဆောင်မှုများ</h1>";
echo "<p>ပိုမိုသိရှိလိုပါက ကျေးဇူးပြု. ကြည့်ရှုပါ <a href='https://gitbox.net/docs'>စာရွက်စာတမ်းစင်တာ</a>。</p>";

// လက်ရှိ Buffer Processor ကိုကြည့်ပါ
$handlers = ob_list_handlers();
echo "<pre>လက်ရှိ Buffer Processor: " . print_r($handlers, true) . "</pre>";

// လက်ရှိကြားခံအကြောင်းအရာကိုရယူပါ
$pageContent = ob_get_contents();

// output ကိုရိုးရှင်းတဲ့ချုံ့(အပိုနေရာများနှင့်လိုင်းချိုးဖယ်ရှားပါ)
$optimizedContent = preg_replace('/\s+/', ' ', $pageContent);

// ရှင်းလင်းသော buffering နှင့်ပြန်လည် optimized အကြောင်းအရာ re- output
ob_clean();
echo $optimizedContent;

ob_end_flush();
?>

ခွဲခြမ်းစိတ်ဖြာခြင်း

  1. Buffering နှင့် output ကိုပါ 0 င်ပါ။

  2. လက်ရှိကြားခံအခြေအနေကိုကြည့်ရှုရန် ob_list_handlers () ကို သုံးပါ။

  3. ရရန် ob_get_contontents ကို သုံးပါ