output buffering သည် PHP မှပေးသော MPP မှပေးသောယန္တရားတစ်ခုဖြစ်သည်။ ဆိုလိုသည်မှာ server သည် script ကိုမကွပ်မျက်ခြင်းမပြုမီ output များကို output အားလုံးကို cache လုပ်နိုင်သည်။ ဤသို့ပြုလုပ်ခြင်း၏အကျိုးကျေးဇူးများမှာ -
HTTP တောင်းဆိုမှုများကိုလျှော့ချပါ ။ Browser သည်အချက်အလက်အားလုံးကိုတစ်ပြိုင်တည်းလက်ခံရရှိလိမ့်မည်။
I / O စစ်ဆင်ရေးကိုလျှော့ချပါ ။ PHP သည် 0 န်ဆောင်မှုခံယူချက်အရေအတွက်ကိုလျှော့ချခြင်းဖြင့် 0 န်ဆောင်မှုခံယူချက်အကြိမ်ရေကိုလျှော့ချခြင်း,
တိုးတက်လာသောစာမျက်နှာပြန်ဆိုချက် - ဒေတာထုတ်လွှင့်မှုကာလအတွင်းပြတ်တောက်ခြင်းကြောင့်ပြတ်တောက်မှုများကိုရှောင်ရှားရန် HTML အကြောင်းအရာများကိုလက်ခံပြီးနောက်တစ်ချိန်တည်းတွင် browser သည်တစ်ချိန်တည်းတွင်စာမျက်နှာကိုပြန်ဆိုနိုင်သည်။
ob_end_flush သည် PHP တွင် output buffer-related function ဖြစ်သည်။ ၎င်း၏ရည်ရွယ်ချက်မှာလက်ရှိကြားခံကိုပိတ်ရန်နှင့် Buffer ၏ contents ကို browser သို့ output လုပ်ရန်ဖြစ်သည်။ ob_end_flush ကို မှန်ကန်သောနေရာတွင်ခေါ်ဆိုခြင်းအားဖြင့်ကြားခံရှိအကြောင်းအရာများကို browser သို့ browser သို့ပို့သောအခါ, စာမျက်နှာ၏အမြန်နှုန်းကိုပိုမိုကောင်းမွန်စေရန်သင်ထိန်းချုပ်နိုင်သည်။
ob_end_flush ၏အသုံးပြုမှုကိုနားလည်ရန် PHP တွင် Buffer စီမံခန့်ခွဲမှုယန္တရားကိုသင် ဦး စွာနားလည်ရန်လိုအပ်သည်။ PHP output output buffering ၏လုပ်ငန်းသည်များသောအားဖြင့်ဤသို့ဖြစ်သည်။
output buffer: obfer buffer ကိုစတင်ရန် OUTP_START () ကို စတင်ပါ။
အကြောင်းအရာများကိုထုတ်လုပ်ရန် - script သည်ဆက်လက်လုပ်ဆောင်နိုင်ပြီး output ကို browser သို့တိုက်ရိုက်ပို့ပေးမည့်အစား output တွင်ပထမဆုံးသောထုတ် 0 န်းကျင်တွင်သိမ်းဆည်းထားလိမ့်မည်။
အပြည့်အဝ output: အားလုံးအကြောင်းအရာထုတ်လုပ်တဲ့အခါ ob_end_flush () ကို ခေါ်ပါ။
ဤတွင်ရိုးရှင်းသောဥပမာကုဒ်တစ်ခုဖြစ်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// output ကို buffering စတင်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ob_start</span></span><span>();
</span><span><span class="hljs-comment">// output ကိုအကြောင်းအရာ(အဆိုပါအကြောင်းအရာကြားခံ၌တည်ရှိ၏,တိုက်ရိုက် outputting ၏)</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"စာမျက်နှာအကြောင်းအရာထုတ်ပေးသည်..."</span></span><span>;
</span><span><span class="hljs-comment">// အခြားအပြောင်းအလဲနဲ့ဒီမှာဖျော်ဖြေနိုင်ပါတယ်,ဥပမာအားဖြင့်ဒေတာဘေ့စ်စုံစမ်းမှု、image processing စသည်ဖြင့်</span></span><span>
</span><span><span class="hljs-comment">// output buffering နှင့် output ကို output ကိုပိတ်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ob_end_flush</span></span><span>();
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>ဤဥပမာတွင် ob_start () ob_start () သည် output buffering ကိုစတင်သည်။ ECHO output ၏ utho output ၏ပါ 0 င်မှုအားလုံးကိုယာယီသိမ်းဆည်းထားပါသည်။ ob_end_flush () ဟုခေါ်သောအထိ, ကြားခံရှိမာတိကာက browser မှတစ်ပြိုင်တည်း output ကိုဖြစ်လိမ့်မည်။
ob_end_flush ob_end_flush ob_end_flush ob_end_flush သည် အောက်ပါရှုထောင့်များတွင်စာမျက်နှာ loading speed ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။
အကယ်. စာမျက်နှာတစ်ခု၏အကြောင်းအရာမျိုးဆက်ဖြစ်စဉ်သည်အချိန်ကြာမြင့်စွာကြာလျှင် (ဥပမာ, ဒေတာဘေ့စ်ရှာဖွေခြင်း, ရှုပ်ထွေးသောရှာဖွေမှုများ, ဤသည်သည်မလိုအပ်သောစာမျက်နှာပေါ်ပေါက်လာသောစာမျက်နှာပေါ်ပေါက်လာသောအခါလိုအပ်သောစာမျက်နှာပေါ်ပေါက်လာခြင်းသို့မဟုတ်ပြတ်တောက်မှုသို့မဟုတ်ပြတ်တောက်ခြင်းများရှိလိမ့်မည်မဟုတ်ကြောင်းသေချာစေသည်။
output buffering ယန္တရားသည်အလယ်အလတ် i / o တောင်းဆိုမှုများကို browser သို့လျှော့ချသည်။ ဘရောင်ဇာသည်အပိုင်းတစ်ခုစီ၏ output ကိုစောင့်ဆိုင်းရန်မလိုအပ်ပါ။ ၎င်းသည်စာမျက်နှာ၏ 0 န်ဆောင်မှုကိုတိုးတက်စေသည်။ အထူးသဖြင့်စာမျက်နှာအကြောင်းအရာသည်ပိုမိုရှုပ်ထွေးသောအခါ။
Ob_end_flush ကိုလည်းအခြားစွမ်းဆောင်ရည်အကောင်းဆုံးနည်းစနစ်များနှင့် တွဲဖက်. အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့် Gzip Compression သည် Ob_gzhandler နှင့် တွဲဖက်. Vets မှကူးစက်သောအချက်အလက်များ၏အရွယ်အစားကိုလျှော့ချရန် OB_GZHandler နှင့် တွဲဖက်. အသုံးပြုနိုင်သည်။ ၎င်းသည် Loading Speed ကိုပိုမိုကောင်းမွန်အောင်သာမက bandwidth သုံးစွဲမှုကိုလည်းလျှော့ချပေးသည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// စွမ်းဆောင်နိုင်စေ GZIP 压缩并output ကို buffering စတင်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ob_start</span></span><span>(</span><span><span class="hljs-string">'ob_gzhandler'</span></span><span>);
</span><span><span class="hljs-comment">// output ကိုအကြောင်းအရာ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"စာမျက်နှာအကြောင်းအရာ compressed..."</span></span><span>;
</span><span><span class="hljs-comment">// output ကိုဖြည့်စွက်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ob_end_flush</span></span><span>();
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Dynamically Generated Web စာမျက်နှာများအတွက်အကြောင်းအရာများသည်ထုတ်လုပ်မှုဖြစ်သည့်အခါထိန်းချုပ်ခြင်းဖြင့် client နှင့်ဆက်သွယ်မှုအရေအတွက်ကိုလျှော့ချနိုင်ပြီးဆာဗာ၏တုန့်ပြန်မှုစွမ်းရည်ကိုတိုးတက်စေနိုင်သည်။ အထူးသဖြင့်အသုံးပြုသူတောင်းဆိုချက်များစွာကိုကိုင်တွယ်သောအခါကျိုးကြောင်းဆီလျော်သောကြားခံယန္တရားသည်ဆာဗာတွင်ဝန်ထုပ်ဝန်ပိုးကိုထိထိရောက်ရောက်လျှော့ချနိုင်ပြီးအပြောင်းအလဲမြန်နှုန်းကိုတိုးတက်စေသည်။
Ob_end_Flush နှင့် PHP output output buffering ယန္တရားများကိုအသုံးပြုပြီး developer များသည် Page Loading Speed Speed Speeting ကိုတိုးတက်စေပြီးဝက်ဘ်ဆိုက်စွမ်းဆောင်ရည်ကိုတိုးတက်စေသည်။ output buffering သည် Page Rendency Platency ကိုလျှော့ချရန်သာမကကျွန်ုပ်သည်အသုံးပြုသူအတွေ့အကြုံကိုထပ်မံတိုးမြှင့်ခြင်းနှင့်ဒေတာထုတ်လွှင့်မှုကိုလျှော့ချခြင်းဖြင့်လည်းသုံးစွဲသူအတွေ့အကြုံကိုပိုမိုကောင်းမွန်စေသည်။ အခြားစွမ်းဆောင်ရည် optimization နည်းလမ်းများနှင့်ပေါင်းစပ်ပြီးသောအခါ OB_END_FLUSH သည် ပိုမိုထိရောက်သောရလဒ်များကိုယူဆောင်လာပြီး developer များပိုမိုထိရောက်သောတုန့်ပြန်ဝက်ဘ်ဆိုက်များကိုဖန်တီးရန်ကူညီနိုင်သည်။