လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ကွဲပြားခြားနားသော PHP ဗားရှင်းများတွင် get_defined_constants ၏ကွဲပြားခြားနားမှု

ကွဲပြားခြားနားသော PHP ဗားရှင်းများတွင် get_defined_constants ၏ကွဲပြားခြားနားမှု

M66 2025-05-22

Get_Defined_constants () သည် PHP တွင်သတ်မှတ်ထားသောလည်ပတ်မှုအားလုံးကိုရရန် PHP တွင် built-in function တစ်ခုဖြစ်သည်။ ၎င်းသည်သော့သည်အဆက်မပြတ်အမည်ဖြစ်သော actiretive array ကိုပြန်ပို့သည်။ တန်ဖိုးသည်အဆက်မပြတ်တန်ဖိုးရှိသည်။ Runtime ပတ် 0 န်းကျင်ကို debugging, ရောင်ပြန်ဟပ်ခြင်းသို့မဟုတ်ခွဲခြမ်းစိတ်ဖြာခြင်းတွင်၎င်းသည်အသုံးဝင်သည်။ သို့သော်, PHP ဗားရှင်းကွဲပြားမှုများအရဤလုပ်ဆောင်မှု၏အပြုအမူသည်အောက်ပါရှုထောင့်များတွင်ထင်ဟပ်ပြသနိုင်သည့်ကွဲပြားခြားနားမှုအချို့ကိုပြသနိုင်သည်။

1 ။ ကိန်းဂဏန်းများကိုနံပါတ်နှင့်အမျိုးအစားပြောင်းလဲသွားသည်

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 ပြီးနောက်ထိုကဲ့သို့သောပေါင်းစပ်တန်ဖိုးများ၏အဓိပ္ပာယ်အများကြီးပိုရှိလိမ့်မည်။

2 ။ အမူအကျင့်အမျိုးအစားခွဲခြားမှု parameters တွေကို ( get_defined_constants (true) )

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 , ဆိုဒီယမ် နှင့် အမျှင်များ ကဲ့သို့မိတ်ဆက်ပေးသည်။

3 ။ စုစည်းခြင်းနှင့်စစ်ဆင်ရေးပတ်ဝန်းကျင်အကြားကွဲပြားခြားနားမှု

Contefined_constants ၏ရလဒ်များတွင်အချို့သောကိန်းများ () သည် php.ini သို့မဟုတ် compile သို့မဟုတ် compile လုပ်ခြင်းကဲ့သို့သော confile-files များမှရလဒ်များတွင်ပါ 0 င်ခြင်းရှိမရှိ။ ဥပမာအားဖြင့် Zend Opcache ကို ဖွင့်ထားသလား,

နမူနာကုဒ် (CLI အတွက်ပြေး):

 define('MY_APP_VERSION', '1.0.0');
print_r(get_defined_constants());

ဤ output သည်ဖွံ့ဖြိုးရေးဆာဗာနှင့်ထုတ်လုပ်မှုဆာဗာအကြားမကြာခဏကိုက်ညီမှုမရှိပါ။

4 ။ အသစ်စက်စက်မိတ်ဆက်ဘာသာစကားဖွဲ့စည်းပုံနှင့် built-in စဉ်ဆက်မကိန်း

PHP 8 သည် JIT ကဲ့သို့သော syntax features များကိုမိတ်ဆက်ပေးသည်။ get_defined_contstants () ကို run ခြင်း () php_fd_setsize , t_match , t_atrute စသည့်အတိုင်းဆက်နွယ်မှုကိုတွေ့လိမ့်မည်။

ဤကိန်းဂဏန်းများအားလုံးသည်ဗားရှင်းအဟောင်းတွင်မတည်ရှိပါ။ ထို့ကြောင့်သင်သည်ဤရွေ့ကား constants အပေါ်အလွန်အမင်းလိုက်ဖက်ညီ capice ရေးသားသည့်အခါသင် သတ်မှတ်ထားသော () function ကိုအသုံးပြုရမည်။

5 ။ အမြဲတမ်းတန်ဖိုးများကိုပြောင်းလဲခြင်းသို့မဟုတ်ဖျက်ခြင်း

ရှားရှားပါးပါးဖြစ်ရပ်များတွင်အချို့သောသတ်မှတ်ထားသောကိန်းဂဏန်းများကိုဗားရှင်းအသစ်ဖြင့်ပြောင်းလဲခြင်းသို့မဟုတ်စွန့်ပစ်ခြင်းများကိုပြောင်းလဲခြင်းသို့မဟုတ်စွန့်ပစ်ခြင်းများကိုပြောင်းလဲပစ်သည်။ PHP အဖွဲ့သည်နောက်ပြန်လိုက်ဖက်ညီမျှမှုကိုသေချာစေရန်များသောအားဖြင့်အဓိကမူကွဲအဆင့်မြှင့်တင်မှုများအဆင့်မြှင့်တင်သည့်အခါပြုပြင်ပြောင်းလဲမှုများပြုလုပ်ရန်မထုတ်ပြန်ပါ။ ဥပမာအားဖြင့်, နောက်ခံစနစ်နှင့်အပြန်အလှန်ဆက်သွယ်သော extension များက CORDATED သို့မွမ်းမံမှုများအပေါ်မှီခိုအားထားနေသောကြောင့်မရှိတော့သည့်သီးခြားသတ်မှတ်ချက်များကိုပြောင်းလဲစေနိုင်သည်။