PHP Development တွင်အမှားအယွင်းများကိုရိုက်ကူးစဉ်ပြ problems နာများဖြစ်စေသည်။ အားနည်းသောဘာသာစကားတစ်ခုအနေဖြင့် PHP သည်ပြောင်းလွယ်ပြင်လွယ် variable definition နည်းလမ်းများကိုထောက်ပံ့ပေးသည်။ သို့သော်၎င်းသည်အမျိုးအစားမကိုက်ညီသောအမှားများကိုပိုမိုအသုံးများစေသည်။ ဤပြ problem နာကိုဖြေရှင်းရန် PHP7 သည် developer များအား function parametersters နှင့်ပြန်လည်ထူထောင်ရေးတန်ဖိုးများတွင်ဒေတာအမျိုးအစားများကိုအတိအလင်းသတ်မှတ်ရန်ခွင့်ပြုသည်။
ဤဆောင်းပါးသည် Php7 တွင်အမျိုးအစားအရိပ်အမြွက်ဖော်ပြချက်များကိုနက်နက်ရှိုင်းရှိုင်းလေ့လာသုံးသပ်ပြီးအလားအလာရှိသောအမျိုးအစားအမှားများကိုမည်သို့ရှောင်ရှားနိုင်ကြောင်းနှင့်ယုံကြည်စိတ်ချရမှုနှင့်ထိန်းသိမ်းခြင်းကိုတိုးတက်အောင်လုပ်ရန်သတ်သတ်မှတ်မှတ်သင်္ကေတများကိုအသုံးပြုပါမည်။
PHP7 တွင် developer များကအမျိုးအစားအရိပ်အမြွက်မှတစ်ဆင့်ဘုံဒေတာအမျိုးအစားများကိုသတ်မှတ်နိုင်သည်။ ဘုံအခြေခံအမျိုးအစားများပါဝင်သည်:
ဒေတာအမျိုးအစားကိုအတိအလင်းဖော်ပြခြင်းအားဖြင့် PHP သည် passed parameters များနှင့်တွေ့ဆုံရန်သေချာစေရန်လုပ်ဆောင်မှုကိုပြုလုပ်သောအခါ PHP သည်အမျိုးအစားစစ်ဆေးမှုများကိုအလိုအလျောက်လုပ်ဆောင်လိမ့်မည်။ ဤတွင်အမျိုးအစားအမှားများကိုကာကွယ်ရန်အမျိုးအစားအရိပ်အမြွက်များကိုမည်သို့အသုံးပြုရမည်ကိုပြသသောရိုးရှင်းသောဥပမာတစ်ခု -
function calculateSum(int $num1, int $num2) {<br> return $num1 + $num2;<br>}<br>$sum = calculateSum(5, 10); // ထုတ်လုပ်ခြင်း:15<br>$sum = calculateSum("5", "10"); // အမှားတစ်ခုသတင်းပို့ပါ:Argument 1 passed to calculateSum() must be of the type int, string given
အထက်ပါကုဒ်များတွင်တွက်ချက်မှုပေါင်းသင်းရေးလုပ်ဆောင်ချက်သည်ကိန်းဂဏန်းသတ်မှတ်ချက်နှစ်ခုကိုလက်ခံသည်။ မှန်ကန်သောအမျိုးအစား (အရေးပါသော) ကိုဖြတ်သန်းသောအခါ function ကိုပုံမှန်အားဖြင့်ရလဒ်ကိုပြန်ပို့သည်။ သို့သော် string type parameter သည် parameter တစ်ခုသာဖြည့်စွက်ပါက PHP သည်အမျိုးအစားအမှားတစ်ခုကိုပစ်ချလိမ့်မည်။
အခြေခံဒေတာအမျိုးအစားများအပြင် PHP7 သည်အတန်းများအသုံးပြုခြင်းကို Type Packing အတွက်အမျိုးအစားအကန့်အသတ်များအဖြစ်အသုံးပြုသည်။ အထူးသဖြင့်ကြီးမားသောစီမံကိန်းများတွင် developer များသည်အရာဝတ်ထုများအကြားအပြန်အလှန်ဆက်သွယ်မှုနှင့်ကိုက်ညီကြောင်းသေချာစေရန် developer များကအမျိုးအစားအရိပ်အမြွက်ကိုသုံးနိုင်သည်။
ဤနေရာတွင်စိတ်ကြိုက်အတန်းအစားကို အသုံးပြု. အမျိုးအစားအရိပ်အမြွက်ဖော်ပြခြင်းဥပမာတစ်ခုဖြစ်သည်။
class User {<br> private $name;<br> public function __construct($name) {<br> $this->name = $name;<br> }<br> public function getName() {<br> return $this->name;<br> }<br>}<br>function greetUser(User $user) {<br> echo "Hello, " . $user->getName();<br>}<br>$user = new User("John Doe");<br>greetUser($user); // ထုတ်လုပ်ခြင်း:Hello, John Doe<br>$invalidUser = "John Doe";<br>greetUser($invalidUser); // အမှားတစ်ခုသတင်းပို့ပါ:Argument 1 passed to greetUser() must be an instance of User, string given
ဤဥပမာတွင်အသုံးပြုသူအတန်းကိုဖန်တီးပြီးအသုံးပြုသူအရာဝတ်ထုတစ်ခုတွင် Pass သို့ Greetuser function တွင်အရိပ်အမြွက်ဖော်ပြရန်ဖြစ်သည်။ လိုအပ်ချက်များနှင့်ကိုက်ညီသောအသုံးပြုသူအရာဝတ်ထုတစ်ခုတွင်ဖြတ်သန်းသောအခါ, function ကိုပုံမှန်အားဖြင့်ရလဒ်နှင့်ရလဒ်ထုတ်ယူပါလိမ့်မယ်။ သို့သော်လည်း, အသုံးပြုသူမဟုတ်သောအရာဝတ်ထု (ထိုကဲ့သို့သော string ကဲ့သို့) PHP သည် type error robory roote ကိုပစ်ချလိမ့်မည်။
အချို့ဖြစ်ရပ်များတွင် function parameter သည် optional ဖြစ်နိုင်သည်, သို့မဟုတ် null တန်ဖိုးကိုခွင့်ပြုရန်ခွင့်ပြုထားသည်။ PHP7 တွင်အရိပ်အမြွက်ဖော်ပြရန်အမျိုးအစားများကိုမေးခွန်းအမှတ်အသားများဖြင့်ကြေငြာရန်ခွင့်ပြုထားသောအမျိုးအစားများကိုကြေငြာရန်ခွင့်ပြုသည်။
ဤနေရာတွင် Nullable အမျိုးအစားကို သုံး. ဥပမာတစ်ခုဖြစ်သည်။
function printMessage(?string $message) {<br> echo $message;<br>}<br>printMessage("Hello, world!"); // ထုတ်လုပ်ခြင်း:Hello, world!<br>printMessage(null); // ထုတ်လုပ်ခြင်း:无ထုတ်လုပ်ခြင်း
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် $ Message Parameter ကို Nullable string အမျိုးအစားတစ်ခုအဖြစ်ကြေငြာသည်။ ဤနည်းအားဖြင့်၎င်းသည်ဗလာမဟုတ်သော string သို့မဟုတ် null တွင်ဖြတ်သန်းသွားသည်ဖြစ်စေလုပ်ဆောင်မှုသည်လွန်ကဲသောအဆိုအရ၎င်းကိုတန်ဖိုးထားလိမ့်မည်။ အကယ်. NULL သည်လွန်သွားလျှင်, လုပ်ဆောင်ချက်သည်ဘာမှရလဒ်မရှိပါ။
PHP7 ၏အရိပ်အမြွက်သည်အရေးကြီးသည့်လက်ခဏာတစ်ခုဖြစ်သည်။ ၎င်းသည် PHP developer များအားပိုမိုအားကောင်းသည့်အမျိုးအစားစစ်ဆေးခြင်းစွမ်းရည်ဖြင့်ပိုမိုခိုင်မာသည့်အမျိုးအစားများဖြင့်ပြုလုပ်နိုင်သည်။ function parameterser အမျိုးအစားများနှင့်ပြန်လာတန်ဖိုးကိုသတ်မှတ်ခြင်းအားဖြင့် developer များသည် Runtime ပြ problems နာများကိုရှောင်ရှားရန်ဖွံ့ဖြိုးရေးလုပ်ငန်းများကိုအစောပိုင်းကအလားအလာရှိသောအမှားများကိုရှာဖွေတွေ့ရှိနိုင်သည်။
developer များက PHP7 တွင် PHP7 တွင်အမျိုးအစားအရိပ်အမြွက်ဖော်ပြခြင်းများကိုအပြည့်အဝအသုံးချရန်လုပ်ဆောင်ချက်များကိုရေးသားသည့်အခါဒေတာအမျိုးအစားများကိုရှင်းလင်းရန်။ ၎င်းသည်ကုဒ်၏အရည်အသွေးကိုတိုးတက်စေသည်သာမကအဖွဲ့ 0 င်များကိုလည်း Code ကိုပိုမိုလွယ်ကူစွာထိန်းသိမ်းရန်နှင့်ထိန်းသိမ်းရန်လည်းကူညီသည်။