is_a (အရာဝတ်ထု $ အရာဝတ်ထု, string_ $ class_name, bool $ Allow_string = false: false
Detect လုပ်ရန် $ အရာဝတ်ထု အရာဝတ်ထု
$ class_name အတန်းအစားအမည် string ကို
အရာဝတ်ထုသည်အတန်းအစားသို့မဟုတ်၎င်း၏ subclass မှပိုင်ဆိုင်ပါက စစ်မှန် ပါက အယူမှား ပြန်လာပါ
ဥပမာ -
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
var_dump(is_a($dog, 'Dog')); // true
var_dump(is_a($dog, 'Animal')); // true,အကေြာင်းမှာ Dog အမေှဆက်ခံ Animal
var_dump(is_a($dog, 'Cat')); // false
အရာဝတ်ထုသည် ခွေး , ကြောင် , ငှက်များ ကိုမည်သည့်အတန်းအစားမဆို 0 မ်းသာမှုရှိ, မရှိဆုံးဖြတ်လိုသည်ဆိုပါစို့။
if (is_a($obj, 'Dog') || is_a($obj, 'Cat') || is_a($obj, 'Bird')) {
// အရာဝတ်ထုသည်ဤသုံးခုအနက်မှတစ်ခုနှင့်သက်ဆိုင်သည်
}
တရားစီရင်ခြင်းအမျိုးအစားများစွာရှိပါက၎င်းကိုရေးသားရန်အဆင်မပြေဘဲပြုပြင်ထိန်းသိမ်းမှုအတွက်အထောက်အကူဖြစ်လိမ့်မည်မဟုတ်ပါ။
ကျွန်ုပ်တို့သည် function ကို encapsulate လုပ်နိုင်သည်, အရာဝတ်ထုများနှင့်အတန်းအစားအမည်များတွင်ဖြတ်သန်းသွားနိုင်သည်။
function is_a_any($object, array $classNames): bool {
foreach ($classNames as $className) {
if (is_a($object, $className)) {
return true;
}
}
return false;
}
အသုံးပြုမှုဥပမာ -
$classes = ['Dog', 'Cat', 'Bird'];
if (is_a_any($obj, $classes)) {
echo "အရာဝတ်ထုအတန်းတစ်ခု၏ပိုင်ဆိုင်သည်";
} else {
echo "အရာဝတ်ထုများသည်ဤအတန်းများနှင့်မသက်ဆိုင်ပါ";
}
PHP ၏အတန်းအစားအမည်များသည်စာလုံးအကြီးအသေးအရေးမကြီးပါ။
function is_a_any($object, array $classNames): bool {
foreach ($classNames as $className) {
if (is_a($object, $className)) {
return true;
}
}
return false;
}
တကယ်တော့ is_a () သူ့ဟာသူသည်ဖြစ်ရပ်မှန်မခံစားနိုင်ပါ။ ထို့ကြောင့်အပိုအပြောင်းအလဲနဲ့လုပ်ရန်မလိုအပ်ပါ။
အကယ်. အရာဝတ်ထုသည်အချို့သော interface ကိုအကောင်အထည်ဖော်မှုရှိမရှိကိုသင်ဆုံးဖြတ်လိုပါက IS_A () သည်လည်းသက်ဆိုင်သည်။
<?php
class Dog {}
class Cat {}
class Bird {}
class Bulldog extends Dog {}
function is_a_any($object, array $classNames): bool {
foreach ($classNames as $className) {
if (is_a($object, $className)) {
return true;
}
}
return false;
}
$bulldog = new Bulldog();
$checkClasses = ['Cat', 'Bird', 'Dog'];
if (is_a_any($bulldog, $checkClasses)) {
echo "အဆိုပါအရာဝတ်ထုသတ်မှတ်ထားသောအတန်းတစ်ခု၏တ ဦး တည်းပိုင်";
} else {
echo "အရာဝတ်ထုများသည်ဤအတန်းများနှင့်မသက်ဆိုင်ပါ";
}
ရလဒ်များအစက်အပြောက်:
အဆိုပါအရာဝတ်ထုသတ်မှတ်ထားသောအတန်းတစ်ခု၏တ ဦး တည်းပိုင်
ဘာကြောင့်လဲဆိုတော့ ဘူဒိုဇာ ဟာ ခွေးတစ်ကောင် ခွဲလို့ပဲ။
is_a () အရာဝတ်ထုတစ်ခုသည်အချို့သောလူတန်းစားသို့မဟုတ်၎င်း၏ subclass ပိုင်ရှိမရှိရှာဖွေရန်အသုံးပြုသည်။
အတန်းမျိုးစုံကိုအကဲဖြတ်သည့်အခါ SPLOOP Encapsulationsion function ကိုအသုံးပြုပါ ။
ပြောင်းလွယ်ပြင်လွယ်နှင့်စုံစုံလုပ်ဆောင်ချက်များ, ထိန်းသိမ်းရန်လွယ်ကူခြင်းနှင့်ချဲ့ထွင်ရန်လွယ်ကူသည်
ထိုကဲ့သို့သောလုပ်ဆောင်ချက်များကို encapsulating ဖြင့် code သည် ပို. ကြော့ရှင်းလွယ်ကူစွာနားလည်နိုင်ပြီးနားလည်ရန်လွယ်ကူသည်။