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 ကို Refined Constants မှသတ်မှတ်ထားသော php script နှင့် script တွင်သတ်မှတ်ထားသည့်ကိန်းဂဏန်းများအပါအ 0 င်လက်ရှိ PHP script ကိုပြန်ပို့သည်။ သင်ဤကဲ့သို့သောကိုသုံးနိုင်သည်။
$constants = get_defined_constants();
print_r($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 ကိုညစ်ညမ်းစေပြီးမဲဆန္ဒနယ်များကိုရှင်းရှင်းလင်းလင်းထားခြင်းမှရှောင်ရှားရန်ဖြစ်သည်။
အကယ်. သင်သည်အတန်းအစားအမြဲကိန်းများအပါအ 0 င်ကိန်းရှင်အားလုံးကိုရယူရန်လိုအပ်ပါကသင်ဤသို့ပြုလုပ်နိုင်သည်။
RefnessClass ကို Class Carnows ကိုရယူရန်အသုံးပြုပါ။
$reflectionClass = new ReflectionClass('MyClass');
$classConstants = $reflectionClass->getConstants();
print_r($classConstants);
လူတန်းစားများကိုကိုယ်တိုင်စုဆောင်းပါ။
Class Carnowants ကိုကမ္ဘာလုံးဆိုင်ရာအစဉ်အမြဲစုဆောင်းခြင်း, အတန်းအတွင်းရှိအတန်းအစားကိန်းဂဏန်းများကိုသင်ကိုယ်တိုင်စုဆောင်းခြင်းသို့မဟုတ် Callally ကိုအခြားနည်းများဖြင့်စီမံနိုင်သည်။
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 ၏အခြေခံမူများကိုလိုက်နာရန်ဖြစ်သည်။