PHP ၏ Mbstring extension သည် Multibyte ကြိုးများပြုပြင်သည့်အခါအလွန်အရေးကြီးသောအခန်းကဏ် plays မှပါ 0 င်သည်။ ၎င်းတို့အနက် MB_GEget_info () သည်လက်ရှိ encoding, ရှာဖွေခြင်းအမှာစာများကဲ့သို့သောလက်ရှိ Mbstring ၏ configuration information ကိုကြည့်ရှုရန်အသုံးများသော function တစ်ခုဖြစ်သည်။
PHP PHP မှ 7.x ခေတ်မှ 8.x မှ 8.x မှ 8.x, MB_Get_info () သည် အချို့သောသိမ်မွေ့သော်လည်းအရေးကြီးသောပြောင်းလဲမှုများကိုလည်းပြုလုပ်သည်။ ဤဆောင်းပါးသည်ဤအပြောင်းအလဲများကိုအသေးစိတ်ဖော်ပြရန်နှင့်သူတို့ယူဆောင်လာနိုင်သည့်လိုက်ဖက်သည့်ပြ issues နာများကိုအသေးစိတ်ဖော်ပြပါမည်။
PHP 7ST တွင် MB_Get_info () တွင် MB_Get_info () တွင်ခေါ်ဆိုမှုနည်းလမ်းနှစ်မျိုးရှိသည်။
parameters တွေကိုမပါဘဲဖုန်းဆက်ပါ ။ Mbstring Configuration Information အားလုံးကိုပြန်ပို့ပါ။
parameters တွေကိုခေါ်ဆိုပါ - သင်ကသက်ဆိုင်ရာ configuration information ကိုပြန်ပို့ရန်, internal_encoding ' ကဲ့သို့သော string parameter ကိုဖြတ်သွားနိုင်သည်။
နမူနာကုဒ် :
<?php
// အားလုံးရယူပါ mbstring ပြင်ဆင်မှုသတင်းအချက်အလက်
$info = mb_get_info();
print_r($info);
// ရယူ特定的ပြင်ဆင်မှုသတင်းအချက်အလက်
$internalEncoding = mb_get_info('internal_encoding');
echo "Internal Encoding: " . $internalEncoding;
?>
ဤအချက်အလက်သည် developer များအထူးသဖြင့်နိုင်ငံတကာအပလီကေးရှင်းများနှင့်စပ်လျဉ်း။ လက်ရှိပတ်ဝန်းကျင်၏စရိုက်လက်ခဏာကိုသတ်မှတ်သည့်ဇာတ်ကောင်များကိုနားလည်ရန်ကူညီနိုင်သည်။
PHP 8.x ကိုရိုက်ထည့်ပြီးနောက် MB_Get_info () သည် အောက်ပါချိန်ညှိချက်များကိုပြုလုပ်သည်။
အချို့သော configuration သတင်းအချက်အလက်များကိုဖယ်ရှားပစ်သည် ။
ဥပမာအားဖြင့်, အတိတ်ကခေတ်နောက်ကျနေသောလယ်ကွင်းများ (ဤကဲ့သို့သော Http_input , http_output ) တွင် Mbstring HTTP input နှင့် output ကိုလုပ်ငန်းစဉ်မရှိတော့ပါ။ ဤအကြောင်းအရာများသည်ယခုအခါပါ 0 င်သော PHP stream နှင့် input filter များသို့တစ်ပုံစံတည်းလက်ဖြင့်လွှဲပြောင်းပေးသည်။
ပြန်လာသောလယ်ကွက်အရေအတွက်ကိုလျှော့ချသည် ။
အကယ်. သင်၏ကုဒ်သည် PHP 8 တွင် MB_Get_info () တွင် http_output ကို သုံး. HTTP_OutFOut () ကို အသုံးပြု. အခြားအရာများအပေါ်ထားရှိသောအဓိကအမည်များပေါ်တွင်မူတည်သည်။
အမျိုးအစားကြေငြာချက်ကိုအားဖြည့်သည် ။
PHP 8 တွင် MB_GEget_info () ပြန်လာသည့် Value Value အမျိုးအစားသည် ပို. တင်းကြပ်စွာနှင့် မှားယွင်းသော သို့မဟုတ်အခြားထူးဆန်းသောရလဒ်များကိုမပြန်မေးမြန်းပါ။
အမှားကိုင်တွယ်နည်းလမ်းပြောင်းလဲသွားပြီ ။
မမှန်ကန်သော parameter သည်လွန်ကဲသောအရာကမှားယွင်းစွာပြန်လည်ထူထောင်ခြင်းမပြုပါက PHP 8 တွင် TypeError သို့မဟုတ် PlotorError ကို ယခုတွင် မှားယွင်းစွာ ပြန်လာခဲ့ပေမည်။
PHP 8.x နမူနာကုဒ် :
<?php
// အားလုံးရယူပါ mbstring ပြင်ဆင်မှုသတင်းအချက်အလက်
$info = mb_get_info();
foreach ($info as $key => $value) {
echo "{$key} : {$value}\n";
}
// ရယူ internal_encoding အကေြာင်းကြားချက်
try {
$encoding = mb_get_info('internal_encoding');
echo "Internal Encoding: " . $encoding;
} catch (ValueError $e) {
echo "Caught error: " . $e->getMessage();
}
?>
PHP 7.x သို့သင်၏ကုဒ်ကိုအဆင့်မြှင့်တင်ရန်စီစဉ်ထားပါက MB_get_info ကို အသုံးပြုသည့်အခါအောက်ပါလိုက်လျောညီထွေကိစ္စများကိုအာရုံစိုက်ရန်လိုအပ်သည်။
ဤကဲ့သို့သောစွန့်ပစ်ထားသောလယ်ကွင်းများကိုတိုက်ရိုက် 0 င်ရောက်ရန်ကုဒ်နံပါတ်ရှိယုတ္တိဗေဒရှိလျှင် -
<?php
$httpOutput = mb_get_info()['http_output'];
?>
ထို့နောက် PHP 8 တွင်အမှားတစ်ခုအားတိုက်ရိုက်အစီရင်ခံတင်ပြခြင်း,
Womboxound - ပျောက်ကွယ်သွားသောသော့ချက်အမည်များကိုမှီခိုအားပြရန်ပြန်လည်စီစဉ်ရန်ပြန်လည်ရေးသားရမည်။
<?php
$info = mb_get_info();
if (isset($info['http_output'])) {
$httpOutput = $info['http_output'];
} else {
$httpOutput = 'default'; // သို့မဟုတ်ကျိုးကြောင်းဆီလျော်သောပုံမှန်တန်ဖိုးကိုပေးပါ
}
?>
အကယ်. သင်သည် parameters များကို MB_Get_info () ကိုအတည်ပြုပါက PHP 7 တွင် မှားယွင်းစွာ တုံ့ပြန်နိုင်သော်လည်း PHP 8 တွင်ချွင်းချက်အားတိုက်ရိုက်ပစ်ချလိမ့်မည်။ ဥပမာအားဖြင့်:
<?php
// PHP 7.x ပြန်လာရန်ဖြစ်နိုင်သည် false
var_dump(mb_get_info('non_existing_field'));
// PHP 8.x ပစ်လိမ့်မယ် ValueError
?>
အကြံပြုချက် - ကုဒ်အစဉ်အလာကိုတိုးတက်စေရန်အတွက်ခြွင်းချက်ရိုက်ကူးမှုယုတ္တိဗေဒထည့်ပါ။
Code အစုတခုကို PHP 7 နှင့် PHP 8 တွင် run နိုင်ရန်အတွက်တစ်ချိန်တည်းတွင်အောက်ပါစာအရေးအသားနည်းလမ်းကိုသင်ရည်ညွှန်းနိုင်သည်။
<?php
function safe_mb_get_info(string $option = null) {
try {
if ($option !== null) {
return mb_get_info($option);
}
return mb_get_info();
} catch (Throwable $e) {
// သစ်ခုတ်,သို့မဟုတ်ပုံမှန်တန်ဖိုးကိုပြန်ပို့ပါ
error_log("mb_get_info error: " . $e->getMessage());
return null;
}
}
// အသုံးပြု
$encoding = safe_mb_get_info('internal_encoding');
echo $encoding ?? 'utf-8';
?>
Mbstring နှင့် Mb_get_info အကြောင်းပိုမိုလေ့လာရန်လိုအပ်ပါက https://gitbox.net/php/php/php/php/hunuation.mbget-info.php သို့ဝင်ရောက်ကြည့်ရှုနိုင်သည်။
PHPPSTAN သို့မဟုတ်ဆာလံကျမ်းစသည့်ကိရိယာများကို အသုံးပြု. Phala နှင့်ဆာလံကျမ်းကိုအသုံးပြုရန် API လိုက်ဖက်နိုင်သည့်ပြ issues နာများကိုချက်ချင်းရှာဖွေတွေ့ရှိရန်စီမံကိန်းကိုအဆင့်မြှင့်တင်ခြင်းမပြုမီစီမံကိန်းကိုဆန်းစစ်လေ့လာခြင်းကိုပြုလုပ်ရန်အကြံပြုသည်။
ယေဘုယျအားဖြင့် MB_GEget_info () PHP 8.x တွင်သန့်ရှင်းသော, စီမံကိန်းများကိုအဆင့်မြှင့်တင်သည့်အခါအထူးသဖြင့်ဘာသာစကားမျိုးစုံနှင့်ဇာတ်ကောင်အထိခိုက်မခံသည့်စနစ်များပါ 0 င်သည့်စနစ်များကိုသူတို့စတင်ပြီးသည့်နောက်ထူးဆန်းသောဇာတ်ကောင်အပြောင်းအလဲများကိုရှောင်ရှားရန်ဂရုတစိုက်စစ်ဆေးပြီးလိုက်လျောညီထွေဖြစ်အောင်ပြုလုပ်ရမည်။
သတိရပါ - coding processing ၏ပြ problems နာများသည်မကြာခဏလျစ်လျူရှုခံရရန်အလွယ်ကူဆုံးဖြစ်သည်။