Get_Defined_constants function သည်သတ်မှတ်ထားသောကိန်းနှင့်၎င်းတို့၏သက်ဆိုင်ရာတန်ဖိုးများအားလုံးပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။ Const ကို သတ်မှတ်ခြင်း () သို့မဟုတ် သီးခြား သော့ချက်စာလုံးကသတ်မှတ်ထားပြီး၎င်းတို့သည် script တွင်မပြောင်းလဲနိုင်ပါ။
ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည် Constitants ကို သတ်မှတ်. သတ်မှတ်ထားသည့်ကိန်းဂဏန်းများကိုကြည့်ရှုရန် Conl_Defines_Constants ကို အသုံးပြုရမည်ကိုပြသသည်။
define("SITE_URL", "https://m66.net");
define("SITE_NAME", "M66");
$constants = get_defined_constants();
print_r($constants);
output ကိုဆင်တူလိမ့်မည်:
Array
(
[SITE_URL] => https://m66.net
[SITE_NAME] => M66
...
)
ဤနည်းအားဖြင့်သတ်မှတ်ထားသောကိန်းနှင့်၎င်းတို့၏တန်ဖိုးများအားလုံးကိုသင်တွေ့နိုင်သည်။
တခါတရံမှာ ရတဲ့အချိန် ရောက်လာရင်အချို့သည်အချို့ကိန်းဂဏန်းများ၏တန်ဖိုးများမှာဗလာပေါ်လာလိမ့်မည်။ ဤအခြေအနေကိုအကြောင်းပြချက်များစွာကြောင့်ဖြစ်ပေါ်လာနိုင်သည်။
Constants မှန်ကန်စွာတာဝန်ပေးအပ်ကြသည်မဟုတ် အမြဲတမ်းသတ်မှတ်သည့်အခါချက်ချင်းတန်ဖိုးကိုတန်ဖိုးထားရမည်။ အကယ် . အမြဲတမ်း သတ်မှတ်ခြင်း () သို့မဟုတ် Const statement တွင်စနစ်တကျမအောင်မြင်ပါက,
define("EMPTY_CONSTANT", "");
အထက်ပါကုဒ်သည်အချည်းနှီးသော string ဖြင့်စဉ်ဆက် မပြတ်ဗလာဖြစ်နေသော ဗလာဖြစ်သည်။ Get_Defined_constants ဟုခေါ်သောအခါ, output ကိုပြလိမ့်မည်။
[EMPTY_CONSTANT] =>
စဉ်ဆက်မပြတ်အဓိပ္ပါယ်ဖွင့်ဆိုခြင်း PHP တွင်ကိန်းဂဏန်းများအနေဖြင့်များသောအားဖြင့်ကမ္ဘာလုံးဆိုင်ရာဖြစ်သည်။ သို့သော်အချို့သော scopes အချို့ (ထိုကဲ့သို့သောအတွင်းပိုင်းလုပ်ဆောင်ချက်များကိုကဲ့သို့) constants ကိုသတ်မှတ်ပါက Get_Defined_constants မှ ပြန်လာမည်မဟုတ်ပါ။
function defineInsideFunction() {
define("FUNC_CONST", "Hello, World!");
}
defineInsideFunction();
print_r(get_defined_constants());
အကယ်. သင်သည် function အတွင်းစဉ်ဆက်မပြတ်သတ်မှတ်ထားပါက Get_Defined_Comants ၏ရလဒ်တွင်ပေါ်လာမည်မဟုတ်ပါ။ ဤပြ problem နာကိုရှောင်ရှားရန် Constants ၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုကမ္ဘာလုံးဆိုင်ရာနယ်ပယ်တွင်ပြုလုပ်ရန်သေချာစေပါ။
အခြေအနေစဉ်ဆက်မပြတ်အဓိပ္ပါယ် ဖွင့်ဆိုထားသည် စဉ်ဆက်မပြတ်အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုခြွင်းချက်ဖော်ပြချက်အချို့နှင့် ပတ်သတ်. မကျရောက်ပါကအခြေအနေကိုမကျေနပ်လျှင်အမြဲတမ်းသတ်မှတ်လိမ့်မည်မဟုတ်ပါ။ ထို့ကြောင့် Get_Defined_constants မှတစ်ဆင့်ရယူသည့်အခါဤကိန်းဂဏန်းများကိုပြသမည်မဟုတ်ပါ။
if (false) {
define("CONDITION_CONST", "This will not be defined");
}
ဤကိစ္စတွင်အခြေအနေ (သို့) Cape_Defined_constants ၏ရလဒ်တွင် အခြေအနေ မပေါ်လာပါ။
ကြိုတင်သတ်မှတ်ထားသောကိန်းဂဏန်းများပျောက်ဆုံးနေ
PHP ကိုယ်တိုင်က Php_version , php_os စသည်ဖြင့်ကြိုတင်သတ်မှတ်ထားသောကိန်းဂဏန်းများကိုသတ်မှတ်သည်။
အချို့သောပတ်ဝန်းကျင်တွင်အချို့သောကိန်းဂဏန်းများသည်ပတ်ဝန်းကျင်ပေါ် မူတည်. ကွဲပြားနိုင်သည်။ ကြိုတင်သတ်မှတ်ထားသော contapens ကိုသတ်သတ်မှတ်မှတ်ပြင်ဆင်မှုတစ်ခုတွင်အချည်းနှီးသောကြိုတင်သတ်မှတ်ထားသည့်ကိန်းဂဏန်းများကိုသင်မြင်လျှင်သင်၏ PHP configuration သို့မဟုတ် running enform နာများကိုစစ်ဆေးရန်လိုအပ်နိုင်သည်။
null တန်ဖိုးများကိုပြသသည့်ကိန်းရှင်များကိုရှောင်ရှားရန်,
စဉ်ဆက်မပြတ်သတ်မှတ်ထားသောအခါအချည်းနှီးသော string ကိုမဟုတ်ကြောင်းအမြဲတမ်းတန်ဖိုးရှိသည်ကိုသေချာအောင်လုပ်ပါ။
Constants ၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုကမ္ဘာအနှံ့တွင်ပြုလုပ်ထားပြီးဒေသဆိုင်ရာနယ်ပယ်အတွင်းသာသတ်မှတ်ခြင်းကိုရှောင်ရှားကြောင်းသေချာပါစေ။
ခြွင်းချက်ကြေငြာချက်တစ်ခုတွင်စဉ်ဆက်မပြတ်သတ်မှတ်သည့်အခါအခြေအနေမှာအစဉ်အမြဲတည်မြဲသောအဓိပ္ပာယ်ဖွင့်ဆိုချက်ကိုအမြဲတမ်းကိုင်ထားရန်လိုအပ်သည်။
အကယ်. ကြိုတင်သတ်မှတ်ထားသောစဉ်ဆက်မပြတ်ပျောက်ဆုံးနေပါကသက်ဆိုင်ရာကိန်းဂဏန်းများကို Runtime တွင်မှန်ကန်စွာတင်ဆောင်စေရန်သင်၏ PHP ပတ်ဝန်းကျင် configuration ကိုစစ်ဆေးပါ။