လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP8 တွင် static Rep type ကို အသုံးပြု. တည်ငြိမ်သော static method အမျိုးအစားကိုမည်သို့ကြေညာရမည်နည်း

PHP8 တွင် static Rep type ကို အသုံးပြု. တည်ငြိမ်သော static method အမျိုးအစားကိုမည်သို့ကြေညာရမည်နည်း

M66 2025-07-01

PHP8 တွင် static ပြန်လာအမျိုးအစားကိုနိဒါန်း

Object-oriented scripting language တစ်ခုအနေဖြင့် PHP8 သည်အင်္ဂါရပ်အသစ်များနှင့်တိုးတက်မှုအသစ်များကိုပေးသည်။ အရေးအကြီးဆုံးတိုးတက်မှုများထဲမှတစ်ခုမှာအမျိုးအစားကြေငြာချက်များကိုမြှင့်တင်ခြင်းဖြစ်သည်။ ဤဆောင်းပါးသည် PHP8 ၏အသစ်သောအင်္ဂါရပ်အသစ်မှတစ်ဆင့်ပြန်လာသည့်တည်ငြိမ်သောနည်းလမ်းများကိုမည်သို့ပိုမိုကြေငြာနိုင်ကြောင်းနှင့်သက်ဆိုင်သောကုဒ်များဥပမာများကိုပေးလိမ့်မည်။

static ပြန်လာအမျိုးအစားများ၏အခြေခံအသုံးပြုမှု

အစောပိုင်း PHP ဗားရှင်းများတွင် developer များသည် developer များက Return Value အမျိုးအစားတစ်ခုသို့မဟုတ် method end အမျိုးအစားကိုပြန်လည်ပြုပြင်ခြင်း, ဆိုလိုသည်မှာနည်းလမ်း၏ပြန်လည်နေရာချထားခြင်းသည်ထိုအတန်းအစားသို့မဟုတ်ယင်း၏ subclass ၏ဥပမာတစ်ခုမျှသာမဟုတ်ဘဲတိကျသောလူတန်းစားတစ်ခု၏ဥပမာတစ်ခုသာဖြစ်သည်။

တည်ငြိမ်သောပြန်လာအမျိုးအစားကိုအသုံးပြုပြီးတည်ငြိမ်သောနည်းလမ်း၏ retic method အမျိုးအစားကိုကြေငြာပါ

ဤတွင် Static Return အမျိုးအစားကို အသုံးပြု. ငြိမ်သက်နည်းအမျိုးအစားကိုမည်သို့ကြေငြာရမည်ကိုပြသသည့်ဥပမာတစ်ခုမှာဖော်ပြထားသည်။ ကျွန်ုပ်တို့တွင်အသုံးပြုသူ ID ကို အခြေခံ. အသုံးပြုသူရေးရာဥပမာကိုပြန်လည်ရောက်ရှိသော static method combyid ပါ 0 င်သည့်လူတန်းစားဟုခေါ်သောအတန်းအစားရှိသည်ဆိုပါစို့။

 class User {
    public static function getById(int $id) : static {
        // အရIDအသုံးပြုသူအချက်အလက်ကိုမေးမြန်းခြင်း
        // ...
        // ဖန်တီးUserဥပမာအားဖြင့်ပြန်လာ
        return new static();
    }
}

အထက်ပါဥပမာတွင် static return type ကိုအသုံးပြုပြီးအသုံးပြုသူဥပမာအားဖြင့် Getbyid နည်းလမ်းကိုကြေငြာခဲ့သည်။ static သော့ချက်စာလုံးကိုအသုံးပြုခြင်းအားဖြင့်နည်းလမ်းကိုခေါ်သည့်အခါအမှန်တကယ်အတန်းအစား၏ပြန်လာသောဥပမာကိုသေချာစွာသေချာစွာသေချာစွာသေချာစွာသေချာစွာလုပ်ပါ။

အမွေနှင့်တည်ငြိမ်သောပြန်လာအမျိုးအစား

တည်ငြိမ်သောပြန်လည်ပတ်မှုအမျိုးအစား၏အရေးပါသောအားသာချက်မှာအမွေနှင့် polymorphism နှင့်ပေါင်းစပ်ခြင်းဖြစ်သည်။ ခွဲခြမ်းစိတ်ဖြာမှုတွင်မိဘအတန်းအစား၏တည်ငြိမ်သောနည်းလမ်းကိုကျွန်ုပ်တို့ပယ်ဖျက်သောအခါပြန်လာအမျိုးအစားသည် subclass နှင့်အလိုအလျှောက်လိုက်လျောညီထွေဖြစ်အောင်ပြုလုပ်လိမ့်မည်။ ဤတွင်မိဘအတန်းအစားကိုခွဲခြမ်းစိတ်ဖြာခြင်းတွင်စာတန်းထိုးပုံဥပမာတစ်ခုမှာ -

 class Admin extends User {
    public static function getById(int $id) : static {
        // အရIDQuery အုပ်ချုပ်ရေးမှူးသတင်းအချက်အလက်
        // ...
        // ဖန်တီးAdminဥပမာအားဖြင့်ပြန်လာ
        return new static();
    }
}

ဒီဥပမာမှာ admin subclass ကိုဖန်တီးပြီး Getbyid Method ကို override လုပ်တယ်။ Return Type ကို admin class ထဲမှ admin အနေဖြင့်ပြန်လည်ကြေငြာခြင်းမရှိသော်လည်းပြန်လာသောဥပမာအားဖြင့်ငြိမ်သက်လာသည့်အမျိုးအစားများအသုံးပြုခြင်းကြောင့်ပြန်လာသောဥပမာအားဖြင့် admin class ၏ဥပမာအားဖြင့်ဖြစ်လိမ့်မည်။

polymorphism နှင့်တွဲဖက်။ တည်ငြိမ်သော Return Reture အမျိုးအစား

တည်ငြိမ်သော Retter အမျိုးအစားသည်အမွေဆက်ခံခြင်းတွင်ပါ 0 င်ရုံသာမက polmorphisms နှင့်ပေါင်းစပ်ပြီးပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိသော polymorphisms နှင့်ပေါင်းစပ်ထားသည်။ ကျွန်ုပ်တို့သည်ငြိမ်သက်နည်းများဖြင့်မိဘအတန်းအစား၏ဥပမာတစ်ခုပြန်ပို့နိုင်သည်သို့မဟုတ်အမှန်တကယ်လိုအပ်ချက်များအရကလေးအတန်းအစား၏ဥပမာအားဖြင့်ပြန်ပို့နိုင်သည်။ ဤတွင် static နည်းလမ်းများပေါင်းစပ်ထားသောစက်ရုံပုံစံဥပမာတစ်ခုမှာ -

 class Factory {
    public static function createUser() : User {
        // ဖန်တီးUserဥပမာအားဖြင့်ပြန်လာ
        return new User();
    }
}

class AdminFactory extends Factory {
    public static function createUser() : Admin {
        // ဖန်တီးAdminဥပမာအားဖြင့်ပြန်လာ
        return new Admin();
    }
}

အထက်ပါကုဒ်များတွင်ကျွန်ုပ်တို့သည်စက်ရုံအတန်းကိုစက်ရုံအတန်းကိုဖန်တီးပြီးအသုံးပြုသူ၏ဥပမာအားဖြင့်ပြန်လည်ရောက်ရှိစေသည့် static method createuser ကိုဖန်တီးသည်။ ထို့နောက်ကျွန်ုပ်တို့သည်အမွေဆက်ခံခြင်းဖြင့် adminfactory လူတန်းစားကိုဖန်တီးပြီးအုပ်ချုပ်ရေးမှူးဥပမာတစ်ခုပြန်ပို့ရန်ဖန်တီးမှုနည်းလမ်းကိုပယ်ဖျက်ခဲ့သည်။ တည်ငြိမ်သောပြန်လည်ရောက်ရှိသောအမျိုးအစားများ၏အကူအညီဖြင့်ကျွန်ုပ်တို့သည်မိဘအတန်းအစား၏ငြိမ်နည်းသောနည်းစနစ်များမှလွှဲပြောင်းမှုများကိုအကောင်အထည်ဖော်သည်။

အကျဉ်းချုပ်

PHP8 ၏တည်ငြိမ်သော Return type feature သည် developer များကိုပိုမိုတိကျသောတည်ငြိမ်သောနည်းလမ်းများနှင့်ပြန်လည်နေရာချထားသည့်နည်းလမ်းများကိုကြေငြာရန်ပိုမိုတိကျသောပြောင်းလွယ်ပြင်လွယ်ရှိသောနည်းလမ်းဖြင့်ပေးသည်။ ၎င်းသည်ပြန်ပို့ခြင်းအမျိုးအစားများကိုကြေငြာရုံသာမကအမွေအနှစ်နှင့် polymorphism နှင့်ပေါင်းစပ်သောအခါပိုမိုပြောင်းလွယ်ပြင်လွယ်များကိုလည်းပိုမိုလွယ်ကူစေသည်။ Static Return အမျိုးအစားကိုအသုံးပြုခြင်းအားဖြင့် developer များသည် static method များ၏ပြန်လည်နေရာချထားရေးအမျိုးအစားများကိုပိုမိုသတ်မှတ်ပြီးသူတို့၏ကုဒ်များ၏ဖတ်နိုင်မှုနှင့်ထိန်းသိမ်းခြင်းကိုတိုးတက်စေနိုင်သည်။