Get_Defined_constants () သည် PHP တွင်သတ်မှတ်ထားသောလည်ပတ်မှုအားလုံးကိုရရန် PHP တွင် built-in function တစ်ခုဖြစ်သည်။ ၎င်းသည်သော့သည်အဆက်မပြတ်အမည်ဖြစ်သော actiretive array ကိုပြန်ပို့သည်။ တန်ဖိုးသည်အဆက်မပြတ်တန်ဖိုးရှိသည်။ Runtime ပတ် 0 န်းကျင်ကို debugging, ရောင်ပြန်ဟပ်ခြင်းသို့မဟုတ်ခွဲခြမ်းစိတ်ဖြာခြင်းတွင်၎င်းသည်အသုံးဝင်သည်။ သို့သော်, PHP ဗားရှင်းကွဲပြားမှုများအရဤလုပ်ဆောင်မှု၏အပြုအမူသည်အောက်ပါရှုထောင့်များတွင်ထင်ဟပ်ပြသနိုင်သည့်ကွဲပြားခြားနားမှုအချို့ကိုပြသနိုင်သည်။
PHP ၏ဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူ, အထူးသဖြင့် extensions အသစ်များကိုဖြည့်စွက်သို့မဟုတ်တည်ဆဲ module များဖြည့်စွက်ပြီးနောက် core ကော်မတီအသစ်ကိုအဆက်မပြတ်မိတ်ဆက်နေကြသည်။ ဥပမာ PHP 7.x နှင့် PHP 8.x တွင်အမှားကိုင်တွယ်သည့်ယန္တရားတွင်အပြောင်းအလဲများပြောင်းလဲခြင်းသည် E_ * အမှားအဆင့်ကိန်းရှင်အသစ်အဆန်းများစတင်မိတ်ဆက်ခဲ့သည်။
print_r(array_keys(get_defined_constants()));
PHP 5.6 တွင် E_ERROR ကဲ့သို့သောပေါင်းစည်းရေးပေါင်းသင်းဆက်များကိုသင်မတွေ့ရပါ E_recoverable_Error , ဒါပေမယ့် PHP 7 ပြီးနောက်ထိုကဲ့သို့သောပေါင်းစပ်တန်ဖိုးများ၏အဓိပ္ပာယ်အများကြီးပိုရှိလိမ့်မည်။
PHP 5.3 မှ Get_Defined_constants () မှစတင်ခြင်းသည် Boolean Parameter သည် ဒေါ်လာအမျိုးအစား ခွဲခြားရန်အထောက်အကူပြုသည် ။
print_r(get_defined_constants(true));
ကွဲပြားခြားနားသော PHP ဗားရှင်းများတွင်မတူညီသောတိုးချဲ့ခြင်း module များ၏အမည်များကိုပြောင်းလဲနိုင်သည်။ ဥပမာအားဖြင့်:
PHP 7.2 ရှိ Arrays တွင် core , spl , date , date , libxml , openssll , curl တို့ပါဝင်နိုင်သည်။
PHP 8.0 ကို PHP 8.0 အပြီးတွင်မိတ်ဆက်ပေးခဲ့သော FFI , ဆိုဒီယမ် နှင့် အမျှင်များ ကဲ့သို့မိတ်ဆက်ပေးသည်။
Contefined_constants ၏ရလဒ်များတွင်အချို့သောကိန်းများ () သည် php.ini သို့မဟုတ် compile သို့မဟုတ် compile လုပ်ခြင်းကဲ့သို့သော confile-files များမှရလဒ်များတွင်ပါ 0 င်ခြင်းရှိမရှိ။ ဥပမာအားဖြင့် Zend Opcache ကို ဖွင့်ထားသလား,
define('MY_APP_VERSION', '1.0.0');
print_r(get_defined_constants());
ဤ output သည်ဖွံ့ဖြိုးရေးဆာဗာနှင့်ထုတ်လုပ်မှုဆာဗာအကြားမကြာခဏကိုက်ညီမှုမရှိပါ။
PHP 8 သည် JIT ကဲ့သို့သော syntax features များကိုမိတ်ဆက်ပေးသည်။ get_defined_contstants () ကို run ခြင်း () php_fd_setsize , t_match , t_atrute စသည့်အတိုင်းဆက်နွယ်မှုကိုတွေ့လိမ့်မည်။
ဤကိန်းဂဏန်းများအားလုံးသည်ဗားရှင်းအဟောင်းတွင်မတည်ရှိပါ။ ထို့ကြောင့်သင်သည်ဤရွေ့ကား constants အပေါ်အလွန်အမင်းလိုက်ဖက်ညီ capice ရေးသားသည့်အခါသင် သတ်မှတ်ထားသော () function ကိုအသုံးပြုရမည်။
ရှားရှားပါးပါးဖြစ်ရပ်များတွင်အချို့သောသတ်မှတ်ထားသောကိန်းဂဏန်းများကိုဗားရှင်းအသစ်ဖြင့်ပြောင်းလဲခြင်းသို့မဟုတ်စွန့်ပစ်ခြင်းများကိုပြောင်းလဲခြင်းသို့မဟုတ်စွန့်ပစ်ခြင်းများကိုပြောင်းလဲပစ်သည်။ PHP အဖွဲ့သည်နောက်ပြန်လိုက်ဖက်ညီမျှမှုကိုသေချာစေရန်များသောအားဖြင့်အဓိကမူကွဲအဆင့်မြှင့်တင်မှုများအဆင့်မြှင့်တင်သည့်အခါပြုပြင်ပြောင်းလဲမှုများပြုလုပ်ရန်မထုတ်ပြန်ပါ။ ဥပမာအားဖြင့်, နောက်ခံစနစ်နှင့်အပြန်အလှန်ဆက်သွယ်သော extension များက CORDATED သို့မွမ်းမံမှုများအပေါ်မှီခိုအားထားနေသောကြောင့်မရှိတော့သည့်သီးခြားသတ်မှတ်ချက်များကိုပြောင်းလဲစေနိုင်သည်။