PHP ပရိုဂရမ်တွင် Carnistants သည် Execution အတွင်းတွင်မပြောင်းလဲနိုင်သည့်ဖော်ထုတ်သူများဖြစ်သည်။ ကျွန်ုပ်တို့သည်ကြီးမားသော applications များများရေးဆွဲနေသည့်အခါတတိယပါတီစာကြည့်တိုက်များကို debing လုပ်သည့်အခါတစ်ခါတစ်ရံတွင် Code တစ်ခုတွင်မည်သည့် COMPICE တွင်သတ်မှတ်ထားသည့်သို့မဟုတ်ပြုပြင်မွမ်းမံခြင်းကိုတစ်ခါတစ်ရံရှာဖွေရန်လိုအပ်သည်။ ယခုအချိန်တွင် Get_Defined_constants () function သည်အသုံးဝင်သည်။
Get_Defined_constants () သည် PHP built-in function တစ်ခုဖြစ်သည်။ Code ကိုကွပ်မျက်ခံရပြီးနှင့်နှိုင်းယှဉ်ပြီးနောက် function ကိုခေါ်ခြင်းနှင့်နောက်မှခေါ်ဆိုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အသစ်သောဆက်နွယ်သောကိန်းရှင်များကိုတိကျစွာဖမ်းယူနိုင်ပြီးဤကိန်းဂဏန်းများ၏တန်ဖိုးများကိုထပ်မံစစ်ဆေးနိုင်သည်။
array get_defined_constants ([ bool $categorize = false ] )
အကယ်. $ အမျိုးအစား parameter ကို သတ်မှတ်ထား ပါက Returned Array သည် Core Core, User-defined စသည်ဖြင့်ခွဲခြားထားသည်။
ဒီလိုမှမဟုတ်ရင်ပြားချပ်ချပ်တစ်ရှုထောင် - ရှုထောင့်ခွဲတန်းရေးခင်းကျင်းကိုပြန်ပို့ပါ။ သော့သည်စဉ်ဆက်မပြတ်၏အမည်ဖြစ်ပြီးတန်ဖိုးသည်စဉ်ဆက်မပြတ်၏တန်ဖိုးဖြစ်သည်။
ကိန်းဂဏန်းများကို code အပိုင်းအစတစ်ခုမတိုင်မီနှင့်အပြီးတွင်မတူကွဲပြားသော အပိုင်းအစများ အပြီးတွင်နှင့်နောက်မှတစ်ကြိမ်ခေါ်ဆိုခြင်းဖြင့်အလယ်အလတ်ကုဒ်များတွင်ထည့်သွင်းထားပြီး,
ဤတွင်ပြည့်စုံသောဥပမာတစ်ခုမှာ -
<?php
// ကန ဦး စဉ်ဆက်မပြတ်ပြည်နယ်မှတ်တမ်းတင်
$before = get_defined_constants();
// Third-party configuration files များသို့မဟုတ်စာကြည့်တိုက်များတင်ခြင်းကိုတုပပါ
include 'http://m66.net/sample-config.php'; // နမူနာ URL
// တင်ပြီးနောက် Constants ပြည်နယ်ကိုမှတ်တမ်းတင်ပါ
$after = get_defined_constants();
// အသစ်စက်စက်အသစ်များကိုတွက်ချက်ပါ
$new_constants = array_diff_assoc($after, $before);
// အသစ်စက်စက်အသစ်များ output ကိုမှဆက်ပြောသည်နေကြသည်
echo "အသစ်သောကိန်းဂဏန်းများသည်အောက်ပါအတိုင်းဖြစ်သည်:\n";
foreach ($new_constants as $name => $value) {
echo "$name => " . var_export($value, true) . "\n";
}
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် array_diff_assoc () ကို အသုံးပြုသည်။ ၎င်းသည်အဓိကအကြောင်းရင်းများကိုနှိုင်းယှဉ်ရုံသာမကအဓိကတန်ဖိုးများကိုလည်းနှိုင်းယှဉ်ရန် array_diff_) ကိုအသုံးပြုသည်။ ၎င်းသည်သင့်အားတန်ဖိုးများကိုပြောင်းလဲထားသောလက်ရှိသီးခြားမဟုတ်ဘဲ အသစ်သောသတ်မှတ်ထားသော ကိန်းဂဏန်းများကိုအတိအကျရရန်ခွင့်ပြုသည်။
သင်အသုံးပြုသူသတ်မှတ်ထားသောကိန်းရှင်များကိုသာရလိုပါက get_defined_constants (True) ကို ခေါ်ယူပြီး "User" မှ "User" အောက်ရှိကိန်းဂဏန်းများကိုထုတ်ယူသောအခါ classifination parameter များကိုသာထည့်သွင်းနိုင်သည်။ ဥပမာအားဖြင့်:
$before = get_defined_constants(true)['user'] ?? [];
include 'http://m66.net/sample-config.php';
$after = get_defined_constants(true)['user'] ?? [];
$new_constants = array_diff_assoc($after, $before);
foreach ($new_constants as $name => $value) {
echo "$name => " . var_export($value, true) . "\n";
}
ဤနည်းလမ်းသည် System Default Constitants ဖယ်ထုတ်ရန်လိုအပ်သည့်အခြေအနေများအတွက်အထူးအရေးကြီးသည်။ အသုံးပြုသူသို့မဟုတ်စီးပွားရေးယုတ္တိဗေဒဆိုင်ရာအဓိပ္ပါယ်ဖွင့်ဆိုချက်များကိုရယူရန်အာရုံစူးစိုက်နိုင်သည်။
တတိယပါတီစာကြည့်တိုက်များကို debging လုပ်ခြင်း - စာကြည့်တိုက်တစ်ခုသို့မဟုတ်မူဘောင်တစ်ခုကမည်သည့်ကိန်းဂဏန်းများကိုခွဲခြမ်းစိတ်ဖြာပါ။
configuration tracking : configuration files များ၌သတ်မှတ်ထားသောပ conflict ိပက်ခဖြစ်စေသောသို့မဟုတ်ပ conflict ိပက်ခဖြစ်စေသောသီးခြားပါ 0 င်သည့်အချိန်များ,
လုံခြုံရေးစာရင်းစစ် - ပုံမှန်မဟုတ်သောကိန်းဂဏန်းများကိုမဆိုမဆိုထိုးသွင်းခြင်းရှိမရှိစစ်ဆေးပါ။
စမ်းသပ်ခြင်းနှင့်စစ်ဆေးခြင်း - အလိုအလျောက်စမ်းသပ်ခြင်းလုပ်ငန်းစဉ်မတိုင်မီနှင့်ပြီးနောက် status ကွဲပြားခြားနားမှုနှိုင်းယှဉ်။
စဉ်ဆက်မပြတ်အဓိပ္ပါယ်မပြုပြင်နိုင်ပါကထပ်ခါတလဲလဲအဓိပ္ပာယ်ဖွင့်ဆိုချက်သည်သတိပေးချက်တစ်ခုဖြစ်ပေါ်စေလိမ့်မည်။
ပ conflicts ိပက်ခများကိုရှောင်ရှားရန် Namespace Prefix ကိုအသုံးပြုရန်အကြံပြုသည်။
အဓိကယုတ္တိဗေဒရှိမောင်းနှင်မှုအမြောက်အများကို dynamically လုပ်ခြင်းကိုရှောင်ကြဉ်ပါ။