လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP's is_A () function ကိုဘယ်လိုအသုံးပြုရမလဲ။

PHP's is_A () function ကိုဘယ်လိုအသုံးပြုရမလဲ။

M66 2025-06-23

PHP တွင်အသုံးပြုသောအရာဝတ်ထုတစ်ခုသည်အချို့သောအရာဝတ်ထုတစ်ခုသို့မဟုတ်ခွဲခြမ်းစိတ်ဖြာခြင်း၏ဥပမာတစ်ခုဖြစ်မသည်ကိုဆုံးဖြတ်ရန်အများအားဖြင့်အသုံးပြုသောနည်းလမ်းများအနက်မှတစ်ခုမှာ is_a () function ကိုသုံးရန်ဖြစ်သည်။ is_a () function သည်အရာဝတ်ထုတစ်ခုသည်သတ်မှတ်ထားသောအတန်းတစ်ခု၏ဥပမာတစ်ခုသို့မဟုတ်ယင်း၏အတန်းမှအမွေဆက်ခံနေသည်ဖြစ်စေရှာဖွေတွေ့ရှိနိုင်သည်။ ပစ်မှတ်အတန်းသည်စိတ်တဇအတန်းတစ်ခုဖြစ်သော်လည်းဤလုပ်ဆောင်မှုသည်ကောင်းမွန်စွာအလုပ်လုပ်သည်။

အရာဝတ်ထုတစ်ခုသည်စိတ်တဇအတန်းတစ်ခု၏ဥပမာတစ်ခုရှိမရှိဆုံးဖြတ်ရန်ဤဆောင်းပါးသည်မည်သို့အသုံးပြုရမည်ကိုအာရုံစိုက်ပါလိမ့်မည် နမူနာကုဒ်သည်အမှန်တကယ်အသုံးပြုမှုနှင့်အာရုံစူးစိုက်မှုအချက်များကိုရောင်ပြန်ဟပ်လိမ့်မည်။


is_a () function ကဘာလဲ?

is_a () function ကို၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 is_a(object $object, string $class_name, bool $allow_string = false): bool
  • $ အရာဝတ်ထု : တရားစီရင်ခံရဖို့အရာဝတ်ထု။

  • $ class_name : class name (string ကို form) ကိုထောက်ပံ့သည်။

  • $ Allow_String - ပထမ ဦး ဆုံး parameter ကို class name string ကိုခွင့်ပြုရန်, ပုံမှန် မှားယွင်းသော

ဤလုပ်ဆောင်ချက်သည် boolean တန်ဖိုးကို စစ်မှန်သော သို့မဟုတ် မှားယွင်းသော သို့မဟုတ်မှားယွင်းသောအရာဖြစ်သည်။


စိတ်တဇအတန်းများနှင့်ချက်ချင်း

စိတ်တဇ အတန်း အစားကိုယ်နှိုက်ကိုချက်ချင်းမလုပ်နိုင်ပါ, အမွေဆက်ခံနိုင်သည်။ စိတ်တဇစိတ်တဇအတန်းများကိုအနှောင့်အယှက်ပေးသောအရာဝတ်ထုများကိုအနှောင့်အယှက်ပေးသောအရာဝတ်ထုများကိုလည်းစိတ်တဇအတန်းများအနက်များအဖြစ်သတ်မှတ်သည်။ ထို့ကြောင့်အရာဝတ်ထုသည်စိတ်တဇအတန်းတစ်ခု၏ဥပမာတစ်ခုဖြစ်ခြင်းရှိ,


ဥပမာ - isstract class ကိုဖြစ်ရပ်များကိုဆုံးဖြတ်ရန် is_a () ကိုသုံးပါ

အောက်ဖော်ပြပါဥပမာသည် is_a () ကို မည်သို့အသုံးပြုရမည်ကိုပြသသည်။

 <?php

// စိတ်တဇအတန်းကိုသတ်မှတ်ပါ Animal
abstract class Animal {
    abstract public function makeSound();
}

// စိတ်တဇအတန်းများကိုအမွေဆက်ခံ Animal ၏တိကျသောအမျိုးအစားများ Dog
class Dog extends Animal {
    public function makeSound() {
        return "Woof!";
    }
}

// စိတ်တဇအတန်းများကိုအမွေဆက်ခံ Animal ၏တိကျသောအမျိုးအစားများ Cat
class Cat extends Animal {
    public function makeSound() {
        return "Meow!";
    }
}

$dog = new Dog();
$cat = new Cat();

// တရားစီရင်ချက် $dog ဟုတ်တယ် Animal စိတ်တဇအတန်းတစ်ခုဥပမာတစ်ခု
if (is_a($dog, 'Animal')) {
    echo "Dog ဟုတ်ကဲ့ Animal စိတ်တဇအတန်းတစ်ခုဥပမာတစ်ခု" . PHP_EOL;
} else {
    echo "Dog 不ဟုတ်ကဲ့ Animal စိတ်တဇအတန်းတစ်ခုဥပမာတစ်ခု" . PHP_EOL;
}

// တရားစီရင်ချက် $cat ဟုတ်တယ် Animal စိတ်တဇအတန်းတစ်ခုဥပမာတစ်ခု
if (is_a($cat, 'Animal')) {
    echo "Cat ဟုတ်ကဲ့ Animal စိတ်တဇအတန်းတစ်ခုဥပမာတစ်ခု" . PHP_EOL;
} else {
    echo "Cat 不ဟုတ်ကဲ့ Animal စိတ်တဇအတန်းတစ်ခုဥပမာတစ်ခု" . PHP_EOL;
}

// တရားစီရင်ချက် $dog ဟုတ်တယ် Cat အတန်းဥပမာများ
if (is_a($dog, 'Cat')) {
    echo "Dog ဟုတ်ကဲ့ Cat အတန်းဥပမာများ" . PHP_EOL;
} else {
    echo "Dog 不ဟုတ်ကဲ့ Cat အတန်းဥပမာများ" . PHP_EOL;
}
?>

ရလဒ်များအစက်အပြောက်:

 Dog ဟုတ်ကဲ့ Animal စိတ်တဇအတန်းတစ်ခုဥပမာတစ်ခု
Cat ဟုတ်ကဲ့ Animal စိတ်တဇအတန်းတစ်ခုဥပမာတစ်ခု
Dog 不ဟုတ်ကဲ့ Cat အတန်းဥပမာများ

မှတ်သားရန်အရာ

  1. အတန်းအမည်များသည်စာလုံးအကြီးအသေးအရေးပါသည်
    is_a () ၏တရားစီရင်ချက်သည်စာလုံးအကြီးများကိုအရေးပါသည်။

  2. interface တရားစီရင်ခြင်းနှင့်ဆင်တူသည်
    is_a () အရာဝတ်ထုတစ်ခု interface ကိုအကောင်အထည်ဖော်မရှိမရှိဆုံးဖြတ်ရန်လည်းအသုံးပြုနိုင်ပါသည်။

  3. strings ဖြတ်သန်းတဲ့အခါ အကယ်. ပထမ ဦး ဆုံး parameter သည်အရာဝတ်ထုတစ်ခုအစားအတန်းအစားအမည်ကို string တစ်ခုဖြစ်ပါကတတိယ parameter သည် မှန်ကန် ရန်သတ်မှတ်ထားရမည်။

 if (is_a('Dog', 'Animal', true)) {
    echo "Dog 类ဟုတ်ကဲ့ Animal ၏ subclasses" . PHP_EOL;
}
  1. လိုက်ကြားမှု
    IS_A () PHP 5.3 မှစတင်သောတတိယ parameter ကိုထောက်ပံ့သည်။


အကျဉ်းချုပ်

အရာဝတ်ထုတစ်ခုသည်စိတ်တဇအတန်းတစ်ခု၏ဥပမာတစ်ခုရှိမရှိဆုံးဖြတ်ရန် PHP ၏ is_a () function ကိုအသုံးပြုခြင်းသည်အလွန်ရိုးရှင်းပြီးထိုးထွင်းသိမြင်မှုသည်အလွန်ရိုးရှင်းပါသည်။ သငျသညျအစွန်အဖျားအတန်း၏အမည်ကိုသိတဲ့အတိုင်းရလဒ်ရရန်အရာဝတ်ထုနှင့်အတန်းအမည်ရှိ pass ။ ၎င်းသည်အရာဝတ်ထုကို ဦး စားပေးပရိုဂရမ်များတွင်ရိုက်ချက်နှင့် polymorphic processing အတွက်အလွန်အထောက်အကူပြုသည်။