PHPP3.4 သည် PHP ဘာသာစကား၏အရေးကြီးသောဗားရှင်းဖြစ်ပြီး 2019 နို 0 င်ဘာလတွင်ဖြန့်ချိခဲ့သည်။ PHP7.3 နို 0 င်ဘာလတွင်ထုတ်ပြန်ခဲ့သည်။
PHP7.4 ကိုအဆင့်မြှင့်တင်သောအခါသင်ဟာလိုက်ဖက်တဲ့ပြ issues နာအချို့ကိုသင်ကြုံတွေ့ရလိမ့်မည်။ ဤပြ problems နာများသည်များသောအားဖြင့် PhP7.4 တွင်မိတ်ဆက်ပေးသောအင်္ဂါရပ်များနှင့်ကုဒ်အပြောင်းအလဲများကြောင့်ဖြစ်သည်။ ဤတွင်အချို့သောဘုံလိုက်ဖက်တဲ့ပြ issues နာများရှိပါသည်။
အချို့သောလုပ်ဆောင်ချက်များကို PHP7.4 သို့မဟုတ်ပြောင်းလဲထားသော parameter အမျိုးအစားများဖြင့်ဖျက်ပစ်နိုင်သည်။ အောက်ပါဥပမာသည်ဤပြ problem နာကိုပြသသည်။
<span class="fun">foo (int $ bar) {// ... } foo ('ဘား) function function function; // PHP သတိပေးချက် - Stropos () သည် parameter 1 ကို string တစ်ခုဖြစ်ရန်မျှော်လင့်သည်</span>
ဖြေရှင်းနည်းမှာ function's parameter type type ကြေငြာချက်ကိုအသစ်ပြောင်းရန်ဖြစ်သည်။ ဥပမာအားဖြင့်, သမဂ္ဂအမျိုးအစားကို parameters အမျိုးမျိုးကိုခွင့်ပြုရန်အသုံးပြုနိုင်သည်။
<span class="fun">foo function function function (string ကို | int $ bar) {// ... } foo (bar '); // ok foo (42); // အိုကေ</span>
PHPP3.4 တွင် __LINE__, __CLAST____ ကဲ့သို့သောမှော်အသရေခွံများနှင့် __file__ ကို registry အကောက်ခွန်အကောင်အထည်ဖော်မှုကြောင့် ____File__ ကိုမှားယွင်းစွာဖော်ပြနိုင်သည်။ ဥပမာအားဖြင့်:
<span class="fun">echo __file__; PHP7.4: // PHP7.4 ပြီးနောက် - //path/toTo/File.php //</span>
ဖြေရှင်းနည်းသည် __FILE__ အစား __DIR__ သို့မဟုတ် dirname (__ file__) ကိုအသုံးပြုရန်ဖြစ်သည်။
PHP7.4 တွင် namespace သည်အတန်းအစားအမည်နှင့်အတူတူပင်ဖြစ်လျှင်ခွဲခြမ်းစိတ်ဖြာခြင်းအမှားများဖြစ်ပေါ်နိုင်သည်။ ဥပမာအားဖြင့်:
<span class="fun">namespace foo; Class Bar {// ... } function bar () {// ... })</span>
PHP7.4 တွင် function bar () ကိုခေါ်သည့်အခါ backslash (\) ကိုအသုံးပြုရန်မလိုအပ်ပါ။ သို့သော် Php5.x တွင်သင် backslash ကိုအသုံးပြုရန်လိုအပ်သည်။
PHPP7.4 တွင် URL ကို function တစ်ခုအနေဖြင့်ဖြတ်သန်းသွားပါက port နံပါတ်ကို null အဖြစ်ခွဲခြမ်းစိတ်ဖြာနိုင်သည်။ ဥပမာအားဖြင့်:
<span class="fun">$ url = 'https://www.example.com:80/'; $ parts1 = parse_url ($ URL); Print_r ($ အစိတ်အပိုင်းများ); PHP7.4 မတိုင်မီ // array (scheme] => https [host] => www.exampe.com [port] =>> https => https]</span>
ဖြေရှင်းနည်းမှာ port နံပါတ်ကိုကိန်းဂဏန်းတစ်ခုသို့ပြောင်းလဲရန်သို့မဟုတ်၎င်းကိုစတုရန်းကွင်းခတ်ထားရန်ဖြစ်သည်။
Developer များ PHP7.4 တွင်သဟဇာတကိစ္စများကိုလျင်မြန်စွာပြုပြင်ရန်ကူညီရန်ထိရောက်သောဖြေရှင်းနည်းများကိုဤတွင်ဖော်ပြထားသည်။
PHP7.4 ကိုအဆင့်မြှင့်တင်ခြင်းမပြုမီ code သည်ဗားရှင်းအသစ်တွင် 0 င်ရောက်လုပ်ကိုင်ရန်သေချာစေရန်ပြည့်စုံသောကုဒ်ပြန်လည်သုံးသပ်ခြင်းနှင့်စစ်ဆေးမှုများပြုလုပ်ရန်အကြံပြုသည်။ အလားအလာရှိသောအမှားများကိုယူနစ်စစ်ဆေးခြင်း, ပေါင်းစည်းခြင်းစစ်ဆေးခြင်းနှင့်စွမ်းဆောင်ရည်စစ်ဆေးခြင်းစသည့်နည်းလမ်းများဖြင့်ရှာဖွေတွေ့ရှိနိုင်သည်။
သဟဇာတဖြစ်သော code အတွက် PHP7.4 ၏အင်္ဂါရပ်အသစ်များနှင့်ကိုက်ညီရန်ကုဒ်ကိုမွမ်းမံပါ။ ဥပမာအားဖြင့် PHP7.4 ကိုသုံးနိုင်သည်။
<span class="fun">foo function function function (string ကို | int $ bar) {// ... } foo (bar '); // ok foo (42); // အိုကေ</span>
Code ကိုပြုပြင်ရန်အပြင်အဆင့်မြှင့်တင်မှုလုပ်ငန်းစဉ်အတွင်းကြုံတွေ့ရသောပြ problems နာများကိုဖြေရှင်းနိုင်ရန်အတွက်လိုက်လျောညီထွေစာကြည့်တိုက်ကိုလည်းသင်အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်, သင်သည်သင်၏ကုဒ်တွင်ပုံစံရှိပုံစံများနှင့် format ချခြင်းဆိုင်ရာပြ issues နာများကိုအလိုအလျောက်ပြင်ဆင်ရန် PHP-CS-fixer ကိုသုံးနိုင်သည်။
PHP7.4 ကိုအဆင့်မြှင့်တင်သည့်အခါသင်သည်အဓိကအားဖြင့်အင်္ဂါရပ်များနှင့်ကုဒ်အပြောင်းအလဲများကြောင့်ဖြစ်ရတဲ့လိုက်ဖက်တဲ့ပြ issues နာတွေကိုကြုံတွေ့ရနိုင်တယ်။ ဤပြ issues နာများကို code ပြန်လည်သုံးသပ်ခြင်း, စစ်ဆေးခြင်း, စစ်ဆေးခြင်း, မွမ်းမံခြင်းကုဒ်သို့မဟုတ် code update လုပ်ခြင်းကုဒ်များကို အသုံးပြု. ကုဒ်များသည်ဗားရှင်းအသစ်များတွင်ချောချောမွေ့မွေ့လည်ပတ်နိုင်စေရန်အတွက်စာကြည့်ရှုခြင်းဆိုင်ရာစာကြည့်တိုက်များအသုံးပြုခြင်းကိုဖြေရှင်းနိုင်သည်။