PHP ပရိုဂရမ်တွင် output buffers များသည်အလွန်အစွမ်းထက်သောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ output buffer ကိုအသုံးပြုခြင်းသည် output content ကိုယာယီဖမ်းယူနိုင်ပြီးလုပ်ငန်းများဆောင်ရွက်ခြင်းမပြုမီလုပ်ဆောင်မှုများကိုပြုလုပ်နိုင်သည်။ PHP သည် ob_list_handlers () နှင့် ob_clean () ob_clean) ကဲ့သို့သောလုပ်ငန်းများကိုပိုမိုဂရုတစိုက်ထိန်းချုပ်ရန်ကူညီရန်။ ဤဆောင်းပါးသည်ထုတ်လုပ်မှုထိန်းချုပ်မှုကိုပေါင်းစပ်ခြင်းနှင့်၎င်းတို့၏လက်တွေ့ကျသောအပလီကေးရှင်းများဥပမာပေးရန်ဤလုပ်ငန်းဆောင်တာနှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါမည်။
output buffer သည်၎င်းကိုမထုတ်လုပ်မီစာမျက်နှာ output ကိုထိန်းချုပ်ရန်ခွင့်ပြုသည်။ ပုံမှန်အားဖြင့် PHP သည် script ၏ output ကို browser သို့တိုက်ရိုက်တိုက်ရိုက်ပေးပို့လိမ့်မည်။ အချို့သောလုပ်ဆောင်ချက်များကိုမှတစ်ဆင့်ကြားခံအကြောင်းအရာများကိုအချို့သော function များကိုရှင်းလင်းရန်နှင့်မည်သည့်အချိန်တွင်မည်သည့်အချိန်တွင်မည်သည့်အချိန်တွင်မထိန်းချုပ်နိုင်ပါ။
ob_list_handlers () နှင့် ob_clean) သည်လက်ရှိ activated output buffer handler ကိုစာရင်းပြုစုရန်နှင့် output buffer ၏ contents ကိုရှင်းလင်းစွာဖော်ပြရန်အသုံးပြုသော objclean () ob_clean () objclean) အတွက်ဘုံလုပ်ဆောင်မှုများဖြစ်သည်။
ob_list_handlers () function ကို) function ကိုလက်ရှိ output buffer handlers အားလုံးကိုစာရင်းပြုစုရန်အသုံးပြုသည်။ လက်ရှိ output buffer stack ရှိ Handler အားလုံး၏အမည်များပါသောခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။ ဤလုပ်ဆောင်မှုကိုခေါ်ဆိုခြင်းဖြင့်လက်ရှိတက်ကြွသော output buffer handlers များရှိမှုရှိမရှိစစ်ဆေးနိုင်သည်။
array ob_list_handlers ( void )
အားလုံးလက်ရှိ output ကြားခံကိုင်တွယ်သူတစ် ဦး ၏အမည်များကိုပြန်ပို့သည်။ မည်သည့်ကိုင်တွယ်သူမျှမဖွင့်ပါကအချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့သည်။
<?php
// output buffer ကိုဖွင့်ပါ
ob_start();
// စိတ်ကြိုက် Buffer Handler ထည့်ပါ
function custom_output_handler($buffer) {
return strtoupper($buffer); // output ကိုစာလုံးအကြီးသို့ပြောင်းပါ
}
ob_start("custom_output_handler");
// အကြောင်းအရာအချို့ကို output
echo "hello world";
// လက်ရှိ output buffer handler ကိုစာရင်းပြုစုပါ
$handlers = ob_list_handlers();
print_r($handlers);
// ကြားခံနှင့်အဆုံးသန့်ရှင်း
ob_end_clean();
?>
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် Ob_start () မှတဆင့် output buffer ကိုပထမဆုံးဖွင့်သည်။ နောက်တစ်ခုက ob_start () ကို အသုံးပြုသည်။ ထို့နောက်လက်ရှိကြားခံ၏ handler အမည်ကို ob_list_handlers () မှတဆင့်စာရင်းကိုဖော်ပြထားသည် ။
ob_clean () function ကို output buffer ရှိအကြောင်းအရာများကိုရှင်းလင်းရန်အသုံးပြုသည်။ သို့သော် output buffer ကိုမပိတ်ပါ။ ကြားခံရှင်းလင်းနေလျှင်ပင် output buffer သည်ဆက်လက်ရှိနေဆဲဖြစ်ပြီးနောက်ဆက်တွဲရလဒ်ကိုဖမ်းယူရန်၎င်းကိုဆက်လက်အသုံးပြုနိုင်သည်။
bool ob_clean ( void )
အောင်မြင်မှုအပေါ် စစ်မှန်တဲ့ ပြန်လာ ,
<?php
// output buffer ကိုဖွင့်ပါ
ob_start();
// အကြောင်းအရာအချို့ကို output
echo "This is some content.";
// ကြားခံရှင်းလင်းပါ
ob_clean();
// အကြောင်းအရာကိုနောက်တဖန် output ကိုကြိုးစားပါ
echo "This is the new content.";
// output ကြားခံ၏ contents
$content = ob_get_contents();
echo $content; // ထုတ်လုပ်ခြင်း:This is the new content.
ob_end_clean();
?>
ဤဥပမာတွင်ကျွန်ုပ်တို့သည်အကြောင်းအရာအချို့ကိုပထမဆုံးထုတ်လွှင့ ် သော်လည်း, ကြားခံရှင်းလင်းနေလျှင်ပင်ကျွန်ုပ်တို့သည်အကြောင်းအရာအသစ်များကိုအကြောင်းအရာအသစ်များနှင့်နောက်ဆုံးတွင်ပါဝင်မှုအသစ်များကိုဆက်လက်ထည့်သွင်းရန်ဆက်လက်လုပ်ဆောင်နိုင်သည်။
ဤရွေ့ကားနှစ်ခုလုပ်ဆောင်ချက်များကိုပေါင်းစပ်အ Granular output ကိုထိန်းချုပ်ရန်ပေါင်းစပ်နိုင်ပါတယ်။ ဥပမာအားဖြင့်, outputting မတိုင်မီလက်ရှိကြားခံ၏ handler ကိုစစ်ဆေးနိုင်သည်။
<?php
// output buffer ကိုဖွင့်ပါ
ob_start();
// အကြောင်းအရာအချို့ကို output
echo "Initial content";
// အသုံးပြုob_list_handlers()လက်ရှိ Buffer Handler ကိုစစ်ဆေးပါ
$handlers = ob_list_handlers();
print_r($handlers);
// လက်ရှိကြားခံအတွက် handler ရှိလျှင်,ကြားခံရှင်းလင်းပါ
if (!empty($handlers)) {
ob_clean();
}
// Buffer Handler အသစ်တစ်ခုထည့်ပါ
function new_output_handler($buffer) {
return strtolower($buffer); // 将ထုတ်လုပ်ခြင်း转换为小写
}
ob_start("new_output_handler");
// ထုတ်လုပ်ခြင်း新的内容
echo "New content";
// 获取缓冲区内容并ထုတ်လုပ်ခြင်း
$content = ob_get_contents();
echo $content; // ထုတ်လုပ်ခြင်း:new content
ob_end_clean();
?>
ဤဥပမာတွင်ကျွန်ုပ်တို့သည်အကြောင်းအရာအချို့ကိုပထမဆုံးအကြိမ်ထုတ်လွှင့်ပြီး Ob_list_Handlers မှတဆင့်လက်ရှိ output buffer handler ကိုစစ်ဆေးပါ။ အကယ်. Buffer ကိုရှင်းရှင်းလင်းလင်းရှင်းလင်းရန် SHEARLER တစ်ခုရှိပါက OB_CLEAN () ကို အသုံးပြုသည်။
ob_list_handlers () နှင့် ob_clean) လုပ်ဆောင်ချက်များကိုမှတစ်ဆင့် PHP developer များက output buffer ကိုကောင်းစွာထိန်းချုပ်နိုင်သည့် PHP developer များအနေဖြင့်ရလဒ်များကိုအကောင်အထည်ဖော်နိုင်သည်။ Buffer ကိုလက်ရှိ handler ကိုစာရင်းပြုစုခြင်းနှင့် output content ကိုပြောင်းလဲရန်လိုအပ်သည့်အချိန်တွင် Handler အသစ်များထည့်ရန်နေအိမ်များကိုရှင်းလင်းရန်လိုအပ်သည်ကိုသင်စစ်ဆေးနိုင်သည်။ ၎င်းသည်ဝက်ဘ်စာမျက်နှာအကြောင်းအရာများကိုဒိုင်းနမစ်ထုတ်လုပ်ခြင်းနှင့်ပြုပြင်ခြင်းအတွက်အလွန်ပြောင်းလွယ်ပြင်လွယ်ရှိသည်။
Output ထိန်းချုပ်မှုအတွက် PHP တွင် ob_list_handlers () ob_clean () ob_clean) ကို မည်သို့အသုံးပြုရမည်ကိုနားလည်ရန်ဤဆောင်းပါးကသင့်အားနားလည်ရန်ကူညီပေးပါ။ သင့်တွင်မေးခွန်းများရှိပါကသို့မဟုတ်ပိုမိုသိလိုပါကကျွန်ုပ်ကိုဆက်သွယ်ပါ။