လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> လုံခြုံရေးသေချာစေရန် class_exists () ကိုသုံးပါ

လုံခြုံရေးသေချာစေရန် class_exists () ကိုသုံးပါ

M66 2025-06-01

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


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

class_exists () ကို သတ်မှတ်ထားသောအတန်းသတ်မှတ်ထားသည့်အတန်းကိုသတ်မှတ်ရန်အသုံးပြုသည်။ ၎င်း၏အခြေခံ syntax ဖြစ်ပါတယ်:

 class_exists(string $class_name, bool $autoload = true): bool
  • $ class_name : ရှာဖွေတွေ့ရှိခံရဖို့အတန်းအမည်။

  • $ autoload : autooloading ယန္တရားကိုခေါ်ရန်, ပုံမှန် စစ်မှန်တဲ့

Class_exists () ကို အသုံးပြုခြင်း () ကိုအသုံးပြုခြင်းသည်သင်၏ကုဒ်တွင်မတည်ရှိသည့်အတန်းများကိုတိုက်ရိုက်အသုံးချခြင်းကိုတားဆီးနိုင်သည်။ ထို့ကြောင့်ဆိုးဝါးသောအမှားများကိုပစ်ချခြင်းမှကာကွယ်နိုင်သည်။


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

is_a () သည်အရာဝတ်ထုတစ်ခုသည်လူတန်းစားတစ်ခုသို့မဟုတ်၎င်း၏ subclass ၏ဥပမာတစ်ခုရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုသည်။ Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 is_a(object|string $object_or_class, string $class_name, bool $allow_string = false): bool
  • $ Office_or_Class : စစ်ဆေးရန်အရာဝတ်ထုသို့မဟုတ်အတန်းအစားအမည်။

  • $ class_name : ပစ်မှတ်အတန်းအစားအမည်။

  • $ Allow_String : အကယ်. မှန်ကန် ပါကပထမ ဦး ဆုံး parameter သည် string တစ်ခုဖြစ်ခွင့်ပြုသည်။

is_a () သည် အရာဝတ်ထုအမျိုးအစားကိုဆုံးဖြတ်ရန်နှင့်ပစ်မှတ်မဟုတ်သောအရာဝတ်ထုများ၏မှားယွင်းစွာခေါ်ဆိုခြင်းနည်းလမ်းများသို့မဟုတ်ဂုဏ်သတ္တိများကိုရှောင်ရှားရန်အသုံးပြုနိုင်သည်။


3 ။ အဘယ်ကြောင့် Conjunction တွင်၎င်းကိုအသုံးပြုရန်လိုအပ်သနည်း။

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

ထို့ကြောင့်ကျွန်ုပ်တို့သည်အတန်းအစားရှိကြောင်းအတည်ပြုရန် class_exists () ကို အသုံးပြုရန် လိုအပ်သည်။ ၎င်းသည်အတန်းမတည်ရှိခြင်းကြောင့်ဖြစ်ပေါ်လာသောအမှားများနှင့် undefined အပြုအမူများကိုရှောင်ရှားနိုင်ပြီး Code အားကြံ့ခိုင်မှုကိုတိုးတက်စေသည်။


4 ။ နမူနာကုဒ်

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

 <?php

$className = 'SomeClass';
$object = getSomeObject(); // function ကိုအရာဝတ်ထုတစ်ခုသို့ပြန်ပို့သည်ဆိုပါစို့null

if (class_exists($className, true)) {
    if (is_a($object, $className)) {
        echo "အရာဝတ်ထုဖြစ်ပါတယ် {$className} ရာထူးဥပမာ。";
    } else {
        echo "အရာဝတ်ထုမဟုတ်ပါဘူး {$className} ရာထူးဥပမာ。";
    }
} else {
    echo "အမျိုးအစား {$className} မတည်ရှိပါဘူး,无法判断对象အမျိုးအစား型。";
}

5 ။ dynamic URLs ပေါင်းစပ်သောအခါမှတ်စုများ

တခါတရံတွင်ကျွန်ုပ်တို့သည် apis သို့မဟုတ် loading အရင်းအမြစ်များကဲ့သို့သောကျွန်ုပ်တို့၏ code ရှိ URLs များကိုလုပ်ဆောင်ရန်လိုအပ်သည်။ ဤအချိန်တွင်လုံခြုံရေးအကြောင်းပြချက်များအတွက်, URL ပိုင်ဆိုင်သော domain name သည်အန္တရာယ်ရှိသော URL များဖြင့်တိုက်ခိုက်ခြင်းကိုရှောင်ရှားရန်ဒိုမိန်းအမည်ကိုအတည်ပြုသင့်သည်။

ဥပမာအားဖြင့်, အောက်ပါကုဒ်များတွင်ဆေးထိုးအန္တရာယ်များကိုတားဆီးရန် URL ဒိုမိန်းအမည်အားလုံးနှင့်အတူ M66.net နှင့်အတူ M66.net ဖြင့်အစားထိုးသည်။

 <?php

$url = 'https://m66.net/api/getData';

if (filter_var($url, FILTER_VALIDATE_URL)) {
    $parsedUrl = parse_url($url);
    if ($parsedUrl['host'] === 'm66.net') {
        // လုံခြုံခေါ်ဆိုမှု interface ကို
        $response = file_get_contents($url);
        echo $response;
    } else {
        echo "ဒိုမိန်းလက်လှမ်းမီခွင့်မပြုပါ。";
    }
} else {
    echo "အားမရှိသောURL。";
}

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

Class_Exists () နှင့် is_a () ကိုပေါင်းစပ်ခြင်းအားဖြင့်၎င်းသည်အတန်း၏မတည်ရှိမှုမရှိသောလုံခြုံရေးအန္တရာယ်များကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ ပြင်ပအရင်းအမြစ် urls နှင့်ပတ်သက်လာလျှင် UNITION Domain Name Verification သည် URL ဆေးထိုးခြင်းနှင့် phishing တိုက်ခိုက်မှုများကိုကာကွယ်ရန်ကောင်းသောအလေ့အကျင့်တစ်ခုဖြစ်သည်။

ဤနည်းလမ်းများသည် developer များပိုမိုလုံခြုံပြီးတည်ငြိမ်သော PHP applications များကိုတည်ဆောက်ရန်ကူညီရန်တစ် ဦး ကိုတစ် ဦး ဖြည့်ဆည်းပေးသည်။