လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP8 Union အမျိုးအစားများ - Polymorphic function parameter လုပ်ပါ

PHP8 Union အမျိုးအစားများ - Polymorphic function parameter လုပ်ပါ

M66 2025-07-01

PHP8 Union အမျိုးအစားများ - Polymorphic function parameter လုပ်ပါ

PhP8 မတိုင်မီ polymorphic function parameters တွေကိုကိုင်တွယ်ခြင်းအတော်အတန်ရှုပ်ထွေးသောပြ problem နာဖြစ်ခဲ့သည်။ PHP သည်ပုံမှန်ရိုက်ထားသောဘာသာစကားဖြစ်သည်။ function parameters များသည်မည်သည့်အမျိုးအစားမဆိုတန်ဖိုးများကိုလက်ခံနိုင်သည်။ ဆိုလိုသည်မှာ function ၏ parametermetes အမျိုးအစားများသည်ကိုက်ညီမှုရှိနိုင်သည်။ ၎င်းသည်လုပ်ဆောင်မှုအတွင်း၌ပြုလုပ်ရန်လိုအပ်သည့်အမျိုးအစားစစ်ဆေးမှုများနှင့်ပြောင်းလဲခြင်းလုပ်ငန်းများကိုပြုလုပ်နိုင်သည်။

သို့သော် PHP8 တွင်ပြည်ထောင်စုအမျိုးအစားများကို PhP8 တွင်စတင်မိတ်ဆက်ခဲ့သည်။ ပြည်ထောင်စုအမျိုးအစားများက Parameter သည်ကွဲပြားခြားနားသောတန်ဖိုးမျိုးစုံကိုလက်ခံနိုင်ကြောင်းကျွန်ုပ်တို့ကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။

ဤအယူအဆကိုသရုပ်ဖော်ရန်အောက်ပါအတိုင်းတိကျသောကုဒ်နမူနာဖြစ်သည်။

ကျွန်ုပ်တို့တွင်ပုံစံကွဲပြားခြားနားသောပုံစံများကိုတွက်ချက်ရန်အသုံးပြုသော function calcarea တစ်ခုရှိသည်ဆိုပါစို့။ PHP8 မတိုင်မီကျွန်ုပ်တို့သည်အောက်ပါကုဒ်ကိုရေးနိုင်သည်။

 
function calcArea($shape, $params) {
    switch ($shape) {
        case 'rectangle':
            $width = $params['width'];
            $height = $params['height'];
            return $width * $height;
        case 'circle':
            $radius = $params['radius'];
            return 3.14 * $radius * $radius;
        case 'triangle':
            $base = $params['base'];
            $height = $params['height'];
            return 0.5 * $base * $height;
    }
}

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်ကွဲပြားခြားနားသောပုံသဏ် parameter ာရီများကိုဖြတ်သန်းခြင်းဖြင့်ထိုဒေသကိုတွက်ချက်သည်။ သို့သော် parameter သည် function တစ်ခု၏လုပ်ဆောင်ချက်တစ်ခုဖြစ်သောကြောင့်, function ကိုအတွင်းပိုင်းတွက်ချက်မှုအရကွဲပြားခြားနားသောတွက်ချက်မှုများပြုလုပ်ရန် function ကိုအတွင်းရှိ switch ထုတ်ပြန်ချက်များကိုအသုံးပြုရန်လိုအပ်သည်။

PHP8 တွင်ကျွန်ုပ်တို့သည်ဤကျင့်ထုံးကိုတိုးတက်စေရန်ပြည်ထောင်စုအမျိုးအစားများကိုသုံးနိုင်သည်။ $ ပုံသဏ် parametic ာန်အမျိုးအစားသည် 'စတုဂံ' '|' Triangle's '|' တြိဂံ 'အမျိုးအစားကို actiretive array တစ်ခုအဖြစ်သတ်မှတ်ပါ။ ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည် switch ထုတ်ပြန်ချက်များကို function အတွင်းရှိ 0 င်ရောက်ခြင်းကိုချန်လှပ်ထားပြီး parameters ၏နည်းလမ်းများနှင့်ဂုဏ်သတ္တိများကိုတိုက်ရိုက်သုံးနိုင်သည်။

 
function calcArea(string $shape, array $params) {
    if ($shape === 'rectangle') {
        $width = $params['width'];
        $height = $params['height'];
        return $width * $height;
    } elseif ($shape === 'circle') {
        $radius = $params['radius'];
        return 3.14 * $radius * $radius;
    } elseif ($shape === 'triangle') {
        $base = $params['base'];
        $height = $params['height'];
        return 0.5 * $base * $height;
    }
}

ဤအကောင်အထည်ဖော်မှုအသစ်တွင်အမျိုးအစားမှတ်စုများကို function's parameter ည့်သည်များနှင့်လုပ်ဆောင်ချက်များကိုအပိုဆောင်းအမျိုးအစားများနှင့်ပြောင်းလဲခြင်းလုပ်ငန်းများမလုပ်ဘဲတိုက်ရိုက်ကြည့်ရှုရန် function ၏ parameter စာရင်းသို့ထည့်သွင်းရန်လိုအပ်သည်။ ဤသည် code ကိုပိုပြီးတိကျစွာနှင့်နားလည်ရန်လွယ်ကူစေသည်။

စုစုပေါင်း PHP8 ၏ပြည်ထောင်စုအမျိုးအစားများသည် polymorphic function parameters တွေကိုကိုင်တွယ်ရန်ပိုမိုကောင်းမွန်သောနည်းလမ်းဖြင့်ကျွန်ုပ်တို့ကိုပိုမိုကောင်းမွန်စေသည်။ function parameter စာရင်းတွင်အမျိုးအစားများကိုမျိုးစုံကိုသတ်မှတ်ခြင်းဖြင့်ကျွန်ုပ်တို့သည် function အတွင်းရှိ parameterse ၏ဂုဏ်သတ္တိများနှင့်နည်းလမ်းများကိုတိုက်ရိုက်ဝင်ရောက်နိုင်ပြီး function အတွင်းရှိ methods များကိုတိုက်ရိုက်ရယူနိုင်သည်။ ၎င်းသည် code ကိုပိုမိုတိကျသောအတိုချုပ်, ဖတ်နိုင်သော, code ၏ရှုပ်ထွေးမှုကိုလျှော့ချနိုင်သည်။