PHP တွင် Constant သည် script execution စဉ်အတွင်းတန်ဖိုးကိုမပြောင်းလဲနိုင်သောအမှတ်အသားဖြစ်သည်။ များသောအားဖြင့် define () function ကို Constants ကိုသတ်မှတ်ရန်အသုံးပြုသည်, သို့မဟုတ် သော့ချက် စာလုံးကိုသုံးနိုင်သည်။ သို့သော်အချို့သောအခြေအနေများတွင်စဉ်ဆက်မပြတ်ကိန်းဂဏန်းများကိုအထူးသဖြင့်ဤကိန်းဂဏန်းများကိုတတိယပါတီစာကြည့်တိုက်များ,
အသုံးများသော သတ်မှတ်ထားသော () function ကိုအပြင် PHP သည် built_defined_constants () တွင်ပါ 0 င်သော function ကိုထောက်ပံ့ပေးသည်။ ၎င်းကို array_key_Key_exists () function ကို တွဲ. အသုံးပြုခြင်းဖြင့်ကျွန်ုပ်တို့သည်ပိုမိုပြောင်းလွယ်ပြင်လွယ်။ တိကျသောအမြဲတမ်းတည်ရှိမှုကိုရရှိနိုင်ပါသည်။ ဤဆောင်းပါးသည်ဤပေါင်းစပ်မှု၏အသုံးပြုမှုနှင့်လက်တွေ့ကျသောလျှောက်လွှာများကိုမိတ်ဆက်ပေးလိမ့်မည်။
Get_Defined_constants () function သည်သတ်မှတ်ထားသောအမြဲတမ်းသတ်မှတ်ထားသောကိန်းဂဏန်းများပါ 0 င်သည့် multidimensional ခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။ ခင်းကျင်းမှု၏ဖွဲ့စည်းပုံမှာအောက်ပါအတိုင်းဖြစ်သည် -
[
'Core' => [...],
'pcre' => [...],
'user' => [
'MY_CONSTANT' => 'value',
...
],
...
]
၎င်းတို့အနက်တစ်စိတ်တစ်ပိုင်းဖြစ်သော အသုံးပြုသူ သည်အသုံးပြုသူအားအမြဲတမ်းသတ်မှတ်ထားသောစဉ်ဆက်မပြတ်ဖြစ်သည်။ အခြားအစိတ်အပိုင်းများကို PHP တွင်တည်ဆောက်ထားသောသို့မဟုတ်တိုးချဲ့ခြင်းကိုသတ်မှတ်သည်။
Get_Defined_constants ('user) array ကိုရရှိခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် user-defined constants အားလုံးကိုစာရင်းပြုစုပြီး array_key_key_exists () ကိုသုံးနိုင်သည်။ ဥပမာအားဖြင့်:
define('MY_SITE_URL', 'https://m66.net');
$userConstants = get_defined_constants(true)['user'];
if (array_key_exists('MY_SITE_URL', $userConstants)) {
echo 'မြဲစဲှ MY_SITE_URL သတ်မှတ်,တန်ဖိုး:' . $userConstants['MY_SITE_URL'];
} else {
echo 'မြဲစဲှ MY_SITE_URL undefined';
}
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် user-defined constants array_key_Unters (" array_key_key_exists) ကိုသုံးရန်ပထမ ဦး ဆုံး My_Site_constants (Trass) ကို သုံးပါ။
သတ်မှတ်ထားသော () function ကိုအသုံးပြုခြင်းသည်စဉ်ဆက်မပြတ် system ရှိ ConteSewants ၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုခွဲခြမ်းစိတ်ဖြာရန်လိုအပ်သည့်အခါစဉ်ဆက်မပြတ်တည်ရှိခြင်းရှိမရှိစစ်ဆေးနိုင်သည်။ ဥပမာအားဖြင့်, သင်၏အောက်ပါကုဒ်ကို သုံး. My_ ဖြင့်စသည့်ကိန်းဂဏန်းများအားလုံးကိုပုံနှိပ်နိုင်သည်။
foreach (get_defined_constants(true)['user'] as $key => $value) {
if (strpos($key, 'MY_') === 0) {
echo "$key => $value\n";
}
}
အောက်ဖော်ပြပါအချက်များသည်အဆင့်မြင့်ပတ်ဝန်းကျင်နေရာများတွင်အထူးသဖြင့်ပုံမှန်ဖွဲ့စည်းထားသောဆုံးဖြတ်ချက်ချခြင်း၏ဥပမာတစ်ခုဖြစ်သည်။
// config.php
define('ENVIRONMENT', 'production');
// init.php
$userConstants = get_defined_constants(true)['user'];
if (array_key_exists('ENVIRONMENT', $userConstants)) {
if ($userConstants['ENVIRONMENT'] === 'production') {
error_reporting(0);
} else {
error_reporting(E_ALL);
}
} else {
// ပုံမှန်ပတ်ဝန်းကျင်
define('ENVIRONMENT', 'development');
error_reporting(E_ALL);
}
ဤနည်းအားဖြင့်အမြဲတမ်းပြောင်းလွယ်ပြင်လွယ်ရှိကြောင်းကျွန်ုပ်တို့သေချာစေရန်သာမကဘဲကိန်းဂဏန်းများထပ်ခါတလဲလဲပြောရလျှင်သတိပေးချက်များကိုကာကွယ်နိုင်သည်။
Get_Defined_constants () နှင့် array_key_cists () ကို ပေါင်းစပ်ခြင်း () နှင့် array_key_celists () သည်ရိုးရာ သတ်မှတ်ထားသော () function ထက်ပိုမိုအစွမ်းထက်။ ကျယ်ပြန့်သောနည်းလမ်းဖြစ်သည်။ ၎င်းသည်အထူးသဖြင့်စီမံကိန်းများနှင့် Multi-module ဗိသုကာများတွင်လက်ရှိ script run ဝန်းကျင်၌အမြဲတမ်းအဓိပ္ပာယ်ဖွင့်ဆိုချက်များကိုနက်နက်ရှိုင်းရှိုင်းနားလည်ရန်နှင့်စီမံခန့်ခွဲရန်ခွင့်ပြုသည်။ ၎င်းကို debugging, configuration checking သို့မဟုတ် runtime control logic အတွက်အသုံးပြုသည်ဖြစ်စေဤနည်းလမ်းသည်ကျွမ်းကျင်ပြီးအသုံးချသင့်သည်။