လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> parameter is_a () function ကိုခွဲခြမ်းစိတ်ဖြာလေ့လာခြင်း - အတန်းအစားအမည်နှင့်အရာဝတ်ထုသို့မည်သို့ဖြတ်သန်းရမည်နည်း

parameter is_a () function ကိုခွဲခြမ်းစိတ်ဖြာလေ့လာခြင်း - အတန်းအစားအမည်နှင့်အရာဝတ်ထုသို့မည်သို့ဖြတ်သန်းရမည်နည်း

M66 2025-05-31

PHP တွင် is_a () function သည်အရာဝတ်ထုတစ်ခုသည်အချို့သောလူတန်းစားတစ် ဦး သို့မဟုတ်အချို့သောအတန်းမှအမွေဆက်ခံသည်ကိုဆုံးဖြတ်ရန်အသုံးပြုသည်။ ၎င်းသည်အသုံးပြုရန်ရိုးရှင်းပါသည်, သို့သော် parameters တွေကိုဖြတ်သန်းသွားသောအခါအထူးသဖြင့်အတန်းအမည်များနှင့်အရာဝတ်ထုများ၏ဖြတ်သန်းမှုသည်ရှုပ်ထွေးရန်လွယ်ကူသည်။ ဤဆောင်းပါးသည်အတန်းအစားအမည်များနှင့်အရာဝတ်ထု parametersters များကိုမည်သို့ဖြတ်သန်းရမည်ကိုနားလည်ရန် is_a () ကိုမှန်ကန်စွာအသုံးပြုမှုကိုအသေးစိတ်ရှင်းပြပါမည်။


1 ။ is_a () function ကိုမိတ်ဆက်

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 ကို စစ်မှန်တဲ့ သို့မဟုတ် မှားယွင်းသော ပြန်လာ။


2 ။ ဘုံအသုံးပြုမှုဥပမာ

1 ။ အရာဝတ်ထုသတ်မှတ်ထားသောလူတန်းစားသို့မဟုတ်၎င်း၏ subclass ရှိမရှိဆုံးဖြတ်ရန်

 class Animal {}
class Dog extends Animal {}

$dog = new Dog();

if (is_a($dog, 'Animal')) {
    echo "ဟုတ်ကဲ့ Animal တစ် ဦး အတန်းအစားသို့မဟုတ်၎င်း၏ subclass ၏ဥပမာတစ်ခု";
} else {
    echo "不ဟုတ်ကဲ့ Animal အတန်းဥပမာများ";
}

ထုတ်လုပ်မှု -

 ဟုတ်ကဲ့ Animal တစ် ဦး အတန်းအစားသို့မဟုတ်၎င်း၏ subclass ၏ဥပမာတစ်ခု

ဘာဖြစ်လို့လဲဆိုတော့ $ ခွေး ဟာ ခွေး အတန်းအစားနဲ့ ခွေးတစ်ကောင် ရဲ့ဥပမာတစ်ခုဖြစ်တဲ့ဥပမာတစ်ခုကတော့ တိရစ္ဆာန် တွေရဲ့ subclass လို့ပဲ


2 ။ ပထမ ဦး ဆုံး parameter သည်အရာဝတ်ထုဖြစ်ပါတယ်, ဒုတိယ parameter သည်အတန်းအမည်ရှိ string ကိုဖြစ်သည်

၎င်းသည်အသုံးအများဆုံးအသုံးပြုမှုဖြစ်ပြီးအရာဝတ်ထု variable များနှင့်အတန်းအစားအမည်ရှိကြိုးများ၌တိုက်ရိုက်ဖြတ်သန်းပါ။

 is_a($obj, 'SomeClass');

3 ။ ပထမ ဦး ဆုံး parameter သည် class name string ကိုဖြစ်ပြီး $ Allow_String ကို ဖွင့်ရန်လိုအပ်သည်

PHP 5.3.0 သည်ပထမ ဦး ဆုံး parameter ကိုနောက်မှအတန်းအမည်ရှိ string ကိုဖြတ်သန်းခွင့်ပြုသည်။ သို့သော်တတိယ parameter သည် မှန်ကန် ရန်သတ်မှတ်ထားရမည်။

 if (is_a('Dog', 'Animal', true)) {
    echo "Dog ဟုတ်ကဲ့ Animal လူတန်းစားသို့မဟုတ် subclass";
}

ထုတ်လုပ်မှု -

 Dog ဟုတ်ကဲ့ Animal လူတန်းစားသို့မဟုတ် subclass

ဤနည်းအားဖြင့်အတန်းသည်အခြားအတန်းအစား၏ subclass ဟုတ်မဟုတ်ဆုံးဖြတ်နိုင်သည်။


3 ။ လက်တွေ့သရုပ်ပြခြင်း - is_a () ကို URL တရားစီရင်ချက်နှင့်ပေါင်းစပ်ပုံ?

အကယ်. သင်ကသက်ဆိုင်ရာအတန်းအစား၏ဥပမာအားဖြင့် 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 သည် မှန် ရမည်။


4 ။ အကျဉ်းချုပ်

  • ပထမ ဦး ဆုံး parameter သည်များသောအားဖြင့်အရာဝတ်ထုမှတဆင့်ဖြတ်သန်းလေ့ရှိပြီးဒုတိယ parameter သည်အတန်းအမည်ရှိ string ကိုဖြတ်သန်းသွားသည်။

  • အကယ်. ပထမ ဦး ဆုံး parameter သည်အတန်းအမည်ကိုဖြတ်သန်းသွားပါကတတိယ parameter သည် မှန်ကန် ရမည်။

  • is_a () သည်သတ်မှတ်ထားသောလူတန်းစားသို့မဟုတ် subclass ဥပမာတစ်ခုရှိမရှိဆုံးဖြတ်လိမ့်မည်။