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

Get_Defined_constants () အတန်းအစားအမြဲမပြန်ရသည့်အကြောင်းရင်း

M66 2025-05-23

PHP တွင် Get_Defined_constants () သည် သတ်မှတ်ထားသောကိန်းဂဏန်းများအားလုံးပါ 0 င်သောအပေါင်းအသင်းကိုပြန်လည်ပေးအပ်သောအလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည်များသောအားဖြင့်လက်ရှိ script script လုပ်ဆောင်မှုကာလအတွင်းသတ်မှတ်ထားသောကိန်းဂဏန်းများကိုသတ်မှတ်ရန်အသုံးပြုလေ့ရှိသည်။ သင်ဤကဲ့သို့သောပြ a နာတစ်ခုကြုံတွေ့ရနိုင်သည် ဒီတော့ဘာဖြစ်လို့ဒီလိုဖြစ်ရတာလဲ။ ဒီဆောင်းပါးမှာဒီကိစ်စကိုနက်နက်နဲနဲလေ့လာမယ်။

လူတန်းစားမဟုတ်တာကဘာလဲ။

ပထမ ဦး စွာစာသင်ခန်းစဉ်ဆက်မကအယူအဆကိုကျွန်ုပ်တို့နားလည်ရန်လိုအပ်သည်။ PHP တွင်သင်တန်းသားများသည်အတန်းများနှင့်ဆက်စပ်သော Class သည်အရာဝတ်ထုဖြစ်ရပ်များမဟုတ်ဘဲအတန်းများနှင့်ဆက်စပ်နေသည်။ Class Carnits ကို မဲဆန္ဒနယ် စာလုံးများဖြင့်သတ်မှတ်ထားပြီးအတန်းအစားအတွင်းနှင့်ပြင်ပတွင်ကြည့်ရှုနိုင်သည်။ အတန်းအစားစဉ်ဆက်မပြတ်၏အဓိပ္ပါယ်ဥပမာတစ်ခုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 class MyClass {
    const MY_CONSTANT = 'This is a class constant';
}

echo MyClass::MY_CONSTANT; // ထုတ်လုပ်ခြင်း:This is a class constant

Class Call နှင့် General ပမာဏအကြားခြားနားချက်မှာယေဘူယျပမာဏမှာ Global ပမာဏဖြစ်သည်။ Class Calls သည်အတန်းများနှင့်သူတို့၏အမွေကိုကန့်သတ်ထားသည်။

get_defined_constants ၏ function ကို () function ကို၏ function ကို

Get_Defined_constants () function သည် function ကို Refined Constants မှသတ်မှတ်ထားသော php script နှင့် script တွင်သတ်မှတ်ထားသည့်ကိန်းဂဏန်းများအပါအ 0 င်လက်ရှိ PHP script ကိုပြန်ပို့သည်။ သင်ဤကဲ့သို့သောကိုသုံးနိုင်သည်။

 $constants = get_defined_constants();
print_r($constants);

၎င်းသည်အဆက်မပြတ်အမည်များနှင့်တန်ဖိုးများပါ 0 င်သည့်အပေါင်းအသင်းဆိုင်ရာခင်းကျင်းမှုကိုထုတ်ပေးသည်။

အဘယ်ကြောင့် Class_Defined_constants () တွင်အတန်းအစားအမြဲမပါ 0 င်ပါ။

Contefined_constants () သည် အမြဲတမ်းစာရင်းပြုစုနိုင်သော်လည်းအတန်းအစားအမြဲမပြန်ပါ။ ဘာဖြစ်လို့လဲဆိုတော့ PHP ရဲ့စဉ်ဆက်မပြတ်စနစ်ကအတန်းအစားကိန်းတွေကိုကမ္ဘာလုံးဆိုင်ရာအမြဲတမ်းမဟုတ်ဘဲအတန်းအစားအမြဲကိန်းဂဏန်းတွေရဲ့တစ်စိတ်တစ်ပိုင်းအဖြစ်သတ်မှတ်ထားလို့ပါ။ ထို့ကြောင့် Get_Defined_constants () သည် ပုံမှန်အားဖြင့်ကမ္ဘာလုံးဆိုင်ရာစဉ်ဆက်မပြတ်ပြောင်းရွှေ့ခြင်းများကိုသာပြန်လည်ပေးအပ်ရန်နှင့်သီးခြားလူတန်းစားသို့မဟုတ်အရာဝတ်ထုဥပမာတစ်ခုနှင့်သက်ဆိုင်သောဆက်နွယ်မှုများကိုမပြန်ပါ။

အကယ်. သင်သည်အတန်းအစားအမြဲကိန်းရှင်များရရန်လိုအပ်ပါက၎င်းကို refnionclass အတန်းမှတစ်ဆင့်အခြားနည်းများဖြင့်၎င်းတို့ကိုကြည့်ရှုရန်လိုအပ်သည်။ ဤတွင်လူတန်းစားမဟုတ်သူများကိုရယူခြင်း၏ဥပမာတစ်ခုဖြစ်သည်။

 $reflectionClass = new ReflectionClass('MyClass');
$classConstants = $reflectionClass->getConstants();
print_r($classConstants);

ဤနည်းလမ်းသည် MyClass အတန်းအစား၏ကိန်းရှင်အားလုံးကိုပြန်ပို့ပေးလိမ့်မည်။

အတန်းအစားကိန်းရှင်များကိုမပြန်ရန်အဘယ်ကြောင့်သင့်လျော်သနည်း။

၎င်းသည် PHP ၏အကန့်အသတ်ရှိပုံရသော်လည်းဤဒီဇိုင်းသည် Out-Orected programming (oop) ၏အခြေခံမူများနှင့်ကိုက်ညီသည်။ OOP တွင်အတန်းအစားကိန်းသားများသည်သီးခြားအတန်းအစားသည်ကမ္ဘာလုံးဆိုင်ရာနယ်ပယ်၏အစိတ်အပိုင်းမဟုတ်ပါ။ ၎င်းတို့၏နယ်ပယ်သည်များသောအားဖြင့်အများအားဖြင့်ကန့်သတ်ထားသည်။ ထို့ကြောင့် Get_Defined_constants () ၏ပြန်လာရလဒ်မှအတန်းအစားကိန်းဂဏန်းများကိုဖယ်ထုတ်ခြင်းကကမ္ဘာလုံးဆိုင်ရာ namespace ကိုညစ်ညမ်းစေပြီးမဲဆန္ဒနယ်များကိုရှင်းရှင်းလင်းလင်းထားခြင်းမှရှောင်ရှားရန်ဖြစ်သည်။

Get_Defined_constants ကိုဘယ်လိုအစားထိုးမလဲ () အတန်းအစားကိန်းတွေရဖို့ဘယ်လိုလဲ။

အကယ်. သင်သည်အတန်းအစားအမြဲကိန်းများအပါအ 0 င်ကိန်းရှင်အားလုံးကိုရယူရန်လိုအပ်ပါကသင်ဤသို့ပြုလုပ်နိုင်သည်။

  1. RefnessClass ကို Class Carnows ကိုရယူရန်အသုံးပြုပါ။

 $reflectionClass = new ReflectionClass('MyClass');
$classConstants = $reflectionClass->getConstants();
print_r($classConstants);
  1. လူတန်းစားများကိုကိုယ်တိုင်စုဆောင်းပါ။
    Class Carnowants ကိုကမ္ဘာလုံးဆိုင်ရာအစဉ်အမြဲစုဆောင်းခြင်း, အတန်းအတွင်းရှိအတန်းအစားကိန်းဂဏန်းများကိုသင်ကိုယ်တိုင်စုဆောင်းခြင်းသို့မဟုတ် Callally ကိုအခြားနည်းများဖြင့်စီမံနိုင်သည်။

  2. Get_Defined_constants () :
    Class Callwers အပါအ 0 င် Callwers အပါအ 0 င် Contefined_constants () နှင့်ရောင်ပြန် ဟပ် မှုများကိုပေါင်းစပ်ထားသောထုံးစံ function ကိုသင်ဖန်တီးနိုင်သည်။

 function get_all_constants() {
    $constants = get_defined_constants();
    $classes = get_declared_classes();
    
    foreach ($classes as $class) {
        $reflectionClass = new ReflectionClass($class);
        $constants = array_merge($constants, $reflectionClass->getConstants());
    }
    
    return $constants;
}

$allConstants = get_all_constants();
print_r($allConstants);

ဤနည်းလမ်းသည်ကမ္ဘာလုံးဆိုင်ရာကိန်းဂဏန်းများနှင့်အတန်းအစားအမြဲစတိုင်းပြန်ပို့သည်။

အကျဉ်းချုပ်

PHP ၏ Get_Defined_constants () function သည် Class Callwers သည် Class Carne ၏အကျော်ကြားဆုံးမဟုတ်ဘဲကမ္ဘာလုံးဆိုင်ရာကိန်းဂဏန်းများမဟုတ်ဘဲလူတန်းစားများ၏အကျပ်အတည်းများနှင့်သက်ဆိုင်သည်။ Class Constitants ကို 0 င်ရောက်နိုင်ရန်၎င်းတို့အား ပြန်လည်ထူထောင် ခြင်းဖြင့်သူတို့ကိုသင်ရနိုင်သည်, ယင်း၏ရည်ရွယ်ချက်မှာကိန်းသားများ၏အတိုင်းအတာကိုရှင်းလင်းစွာထိန်းသိမ်းထားရန်နှင့်အရာဝတ်ထု -oriented programming ၏အခြေခံမူများကိုလိုက်နာရန်ဖြစ်သည်။