2020 ပြည့်လွန်နှစ်များအပြီးတွင် PHP သည်ဗားရှင်း 8.0 ကိုထုတ်ပြန်ခဲ့သည်။ 8.0 ကိုထုတ်ပြန်ခဲ့သည်။ ၎င်းတို့အနက် NULLSAFE operator သည်အလွန်လက်တွေ့ကျသောအင်္ဂါရပ်အသစ်တစ်ခုဖြစ်သည်။ ၎င်းသည် Nullable Objects ၏အပြောင်းအလဲကိုရိုးရှင်းလွယ်ကူပြီး code ကိုပိုမိုတိကျပြီးဖတ်ရန်လွယ်ကူစေသည်။ ဤဆောင်းပါးတွင် PHP8 ၏ NULLSAFE အော်ပရေတာနှင့်အခြားဆက်စပ်သောလုပ်ဆောင်မှုများကိုဖြေရှင်းနိုင်သည့်အရာဝတ်ထုများကိုထိရောက်စွာလုပ်ဆောင်ရန်မည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့အာရုံစိုက်ပါမည်။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အထူးသဖြင့်ပြင်ပ APIs သို့မဟုတ်ဒေတာဘေ့စ်မေးမြန်းချက်များနှင့်အပြန်အလှန်ဆက်သွယ်သောအခါအချို့သောနယ်ပယ်များမှာနယ်ပယ်များဖြစ်နိုင်သည်ဆိုသောအခြေအနေများနှင့်အပြန်အလှန်ဆက်သွယ်သည့်အရာဝတ္ထုများကိုကိုင်တွယ်ဖြေရှင်းရန်အခွင့်အလမ်းများကိုကိုင်တွယ်ရန်မလွှဲမရှောင်သာဖြစ်သည်။ အကယ်. Code သည်ဤ Nullable တန်ဖိုးများကိုစနစ်တကျကိုင်တွယ်ခြင်းမရှိပါက၎င်းသည်အလားအလာရှိသောအမှားများသို့မဟုတ်ခြွင်းချက်များကိုဖြစ်စေနိုင်သည်။ PHP ၏အစောပိုင်း PHP ဗားရှင်းများတွင် Null Value အမှားများကိုရှောင်ရှားနိုင်ရန်အတွက် NULL Checking Logic ကိုရေးရန်လိုအပ်သည်။
PHP 8 ကိုလွှတ်ပေးခြင်းနှင့်အတူ NULLSAFE operator ( ?)> ဤပြ problem နာအမျိုးအစားကိုကိုင်တွယ်ရန်သန့်ရှင်းသောနှင့်ပိုမိုလုံခြုံသောနည်းလမ်းဖြင့်ကျွန်ုပ်တို့ကိုထောက်ပံ့ပေးသည်။ အကယ်. အရာဝတ်ထုသည်တရား 0 င်ဖြစ်ခဲ့လျှင် Nullsafe အော်ပရေတာသည်အမှားတစ်ခုမချဘဲတိုက်ရိုက်ပြန်ပို့လိမ့်မည်။
Nullsafe အော်ပရေတာ ( ? -> ) သည် PHP 8 တွင်ထည့်သွင်းထားသည့်အင်္ဂါရပ်အသစ်တစ်ခုဖြစ်သည်။ အကယ်. ၎င်းသည် Null ဖြစ်လျှင်အော်ပရေတာသည်အမှားတစ်ခုပစ်မည့်အစားအော်ပရေတာသည် Null ကိုပြန်ပို့သည်။
ဥပမာအားဖြင့်, ကျွန်ုပ်တို့တွင် အသုံးပြုသူ အနေဖြင့် လိပ်စာ အလွတ်ပိုင်ဆိုင်မှုပါ 0 င်သောအသုံးပြုသူထုရှိသည်ဆိုပါစို့။
if ($user !== null) {
if ($user->address !== null) {
echo $user->address->city;
}
}
ဤစာအရေးအသားသည်ရှည်လျားပြီးဖတ်ရန်ခက်ခဲပုံရသည်။ NULLSAFE operator ၏အကူအညီဖြင့်ကျွန်ုပ်တို့သည် Code ကိုအလွန်ရိုးရှင်းအောင်ပြုလုပ်နိုင်သည်။
echo $user?->address?->city;
-> အော်ပရေတာကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် null checks များကိုအတိအလင်းလုပ်ဆောင်ရန်မလိုအပ်ပါ။ ကုဒ်သည်ပိုမိုတိကျပြီးဖတ်နိုင်သည်။ $ အသုံးပြုသူ သို့မဟုတ် $ အသုံးပြုသူ> လိပ်စာ သည် Null ဖြစ်ပါကအသုံးအနှုန်းတစ်ခုလုံးသည် null ကိုအလိုအလျောက်ပြန်ပို့လိမ့်မည်။
NULLSAFE operator တွင် PHP8 သည် Nullable အရာဝတ်ထုများ၏အပြောင်းအလဲကိုထပ်မံရှင်းလင်းရန်အခြားအလွန်အရေးကြီးသောအင်္ဂါရပ်များကိုမိတ်ဆက်ပေးသည်။
Null Merge Authorm Operator ( ?? = )
၎င်းသည် PHP8 တွင်ထည့်သွင်းထားသောအော်ပရေတာအသစ်တစ်ခုဖြစ်သည်။ အဘယ်သူသည် ?? = အော်ပရေတာသည်အိမ်ခြံမြေတန်ဖိုးဗလာဖြစ်လျှင်ပုံမှန်တန်ဖိုးကိုသတ်မှတ်လိမ့်မည်။ ဥပမာအားဖြင့်:
</li>
</ol>
<p>$user->name ??= 'Unknown';<br>
ဒီဥပမာမှာ $ user-> နာမည်က ဗလာဖြစ်လျှင် 'အမည်မသိ' တန်ဖိုးကိုတာဝန်ပေးအပ်ပါလိမ့်မည်။
Null Merge အော်ပရေတာ ( ?? )
အဆိုပါ ?? အော်ပရေတာသည်တန်ဖိုးသည် null သည် null မဟုတ်ကြောင်းကိုစစ်ဆေးရန်အသုံးပြုသည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် Nullable Objects များအတွက်ပုံမှန်တန်ဖိုးများကိုသတ်မှတ်ရန်လိုအပ်သည့်အခါအသုံးပြုရန်အလွန်အဆင်ပြေပါသည် ။ ဖြေ -
</li>
</ol>
<p>$user->address = $user->address ?? new Address();<br>
$ user-> လိပ်စာ အလွတ်ဖြစ်လျှင် လိပ်စာအသစ် တစ်ခုကိုဖန်တီးထားသည်။
PHP 8 ၏ NULLSAFE အော်ပရေတာနှင့်အခြားအင်္ဂါရပ်အသစ်များသည်ဆိုးရှားလွယ်သောအရာဝတ်ထုများကိုကိုင်တွယ်ရန်သန့်ရှင်းသောနှင့်အလိုလိုသိသောနည်းလမ်းတစ်ခုကိုပေးသည်။ ဤအင်္ဂါရပ်အသစ်များကိုအသုံးပြုခြင်းသည်ရှည်လျားသော null စစ်ဆေးမှုကုဒ်ကိုလျှော့ချရုံသာမကကုဒ်၏ဖတ်နိုင်မှုနှင့်ထိန်းသိမ်းခြင်းကိုလည်းတိုးတက်စေသည်။ ဟုတ်ပါတယ်, ဒီ feature အသစ်တွေကိုသုံးတဲ့အခါမှာငါတို့ဟာသတိထားဖို့လိုနေဖို့လိုနေဖို့လိုသေးတယ်။ ဆင်ခြင်တုံတရားအသစ်များကိုဆင်ခြင်သုံးသပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့၏ PHP ကုဒ်သည်ပိုမိုတိကျသောနှင့်ရှင်းလင်းမှုရှိလိမ့်မည်။ ဖွံ့ဖြိုးမှုစွမ်းဆောင်ရည်သိသိသာသာတိုးတက်လာလိမ့်မည်။