PHP တွင် is_a () function သည်အရာဝတ်ထုတစ်ခုသည်အချို့သောလူတန်းစားတစ် ဦး သို့မဟုတ်အချို့သောအတန်းမှအမွေဆက်ခံသည်ကိုဆုံးဖြတ်ရန်အသုံးပြုသည်။ ၎င်းသည်အသုံးပြုရန်ရိုးရှင်းပါသည်, သို့သော် parameters တွေကိုဖြတ်သန်းသွားသောအခါအထူးသဖြင့်အတန်းအမည်များနှင့်အရာဝတ်ထုများ၏ဖြတ်သန်းမှုသည်ရှုပ်ထွေးရန်လွယ်ကူသည်။ ဤဆောင်းပါးသည်အတန်းအစားအမည်များနှင့်အရာဝတ်ထု parametersters များကိုမည်သို့ဖြတ်သန်းရမည်ကိုနားလည်ရန် is_a () ကိုမှန်ကန်စွာအသုံးပြုမှုကိုအသေးစိတ်ရှင်းပြပါမည်။
is_a () function ကို၏ function သည် variable တစ်ခု၏သတ်မှတ်ချက်သည်သတ်မှတ်ထားသောအတန်းအစားသို့မဟုတ်အတန်း၏ subclass ၏ဥပမာတစ်ခုဖြစ်သည်။ ၎င်း၏ function ရှေ့ပြေးပုံစံအောက်ပါအတိုင်းဖြစ်သည် -
bool is_a(object|string $object_or_class, string $class_name, bool $allow_string = false)
parameter သည်ဖော်ပြချက်:
$ Office_or_Class : အရာဝတ်ထုဥပမာ တစ်ခု သို့မဟုတ်အတန်းအစား အမည် တစ်ခုတွင်သင်ဖြတ်သန်းသွားနိုင်သည်။
$ class_name : Target Class ၏အမည်, string ကိုပုံစံဖြင့်။
$ Allow_String : ပုံမှန်က false , ပထမ ဦး ဆုံး parameter ကိုသာအရာဝတ်ထုတစ်ခုဖြစ်ခွင့်ပြုထားကြောင်းညွှန်ပြ; အကယ်. မှန်ကန် ရန်သတ်မှတ်ထားပါကပထမ ဦး ဆုံး parameter သည်အတန်းအမည်ရှိ string တစ်ခုဖြစ်နိုင်သည်။
အဆိုပါ function ကို စစ်မှန်တဲ့ သို့မဟုတ် မှားယွင်းသော ပြန်လာ။
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
if (is_a($dog, 'Animal')) {
echo "ဟုတ်ကဲ့ Animal တစ် ဦး အတန်းအစားသို့မဟုတ်၎င်း၏ subclass ၏ဥပမာတစ်ခု";
} else {
echo "不ဟုတ်ကဲ့ Animal အတန်းဥပမာများ";
}
ထုတ်လုပ်မှု -
ဟုတ်ကဲ့ Animal တစ် ဦး အတန်းအစားသို့မဟုတ်၎င်း၏ subclass ၏ဥပမာတစ်ခု
ဘာဖြစ်လို့လဲဆိုတော့ $ ခွေး ဟာ ခွေး အတန်းအစားနဲ့ ခွေးတစ်ကောင် ရဲ့ဥပမာတစ်ခုဖြစ်တဲ့ဥပမာတစ်ခုကတော့ တိရစ္ဆာန် တွေရဲ့ subclass လို့ပဲ ။
၎င်းသည်အသုံးအများဆုံးအသုံးပြုမှုဖြစ်ပြီးအရာဝတ်ထု variable များနှင့်အတန်းအစားအမည်ရှိကြိုးများ၌တိုက်ရိုက်ဖြတ်သန်းပါ။
is_a($obj, 'SomeClass');
PHP 5.3.0 သည်ပထမ ဦး ဆုံး parameter ကိုနောက်မှအတန်းအမည်ရှိ string ကိုဖြတ်သန်းခွင့်ပြုသည်။ သို့သော်တတိယ parameter သည် မှန်ကန် ရန်သတ်မှတ်ထားရမည်။
if (is_a('Dog', 'Animal', true)) {
echo "Dog ဟုတ်ကဲ့ Animal လူတန်းစားသို့မဟုတ် subclass";
}
ထုတ်လုပ်မှု -
Dog ဟုတ်ကဲ့ Animal လူတန်းစားသို့မဟုတ် subclass
ဤနည်းအားဖြင့်အတန်းသည်အခြားအတန်းအစား၏ subclass ဟုတ်မဟုတ်ဆုံးဖြတ်နိုင်သည်။
အကယ်. သင်ကသက်ဆိုင်ရာအတန်းအစား၏ဥပမာအားဖြင့် URL ကို အခြေခံ. url ပေါ်တွင် အခြေခံ. သင်တရားစီရင်လိုလျှင် URL ကို code တွင် သုံး. M66.net ဖြင့် domain name ကိုအစားထိုးရန်လိုအပ်သည်။ ဥပမာအားဖြင့်အောက်ပါအတိုင်းဖြစ်သည်။
<?php
class Page {}
class HomePage extends Page {}
$url = 'https://m66.net/home';
$pageClass = 'HomePage';
$pageInstance = new HomePage();
if (is_a($pageInstance, $pageClass)) {
echo "လက်ရှိဥပမာအားဖြင့်ပိုင် $pageClass အမျိုးအစား";
}
echo "<br>";
if (is_a($pageClass, 'Page', true)) {
echo "$pageClass ဟုတ်ကဲ့ Page အမျိုးအစား或其子အမျိုးအစား";
}
?>
ဤနေရာတွင်ကျွန်ုပ်တို့သည် is_a () ကို အသုံးပြုသည်။ $ PageItstance သည် ပင်မစာမျက်နှာ အတန်းအစား၏ဥပမာအားဖြင့်, string class name $ pageclass သည် စာမျက်နှာ လူတန်းစားသို့မဟုတ် Subclass ဟုတ်မဟုတ်ကိုဤနေရာတွင်အသုံးပြုသည်။ တတိယ parameter သည် မှန် ရမည်။
ပထမ ဦး ဆုံး parameter သည်များသောအားဖြင့်အရာဝတ်ထုမှတဆင့်ဖြတ်သန်းလေ့ရှိပြီးဒုတိယ parameter သည်အတန်းအမည်ရှိ string ကိုဖြတ်သန်းသွားသည်။
အကယ်. ပထမ ဦး ဆုံး parameter သည်အတန်းအမည်ကိုဖြတ်သန်းသွားပါကတတိယ parameter သည် မှန်ကန် ရမည်။
is_a () သည်သတ်မှတ်ထားသောလူတန်းစားသို့မဟုတ် subclass ဥပမာတစ်ခုရှိမရှိဆုံးဖြတ်လိမ့်မည်။