လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Contrefines_constants () ကိုအလျင်အမြန်သတ်မှတ်ထားသည့်နေရာများ (သွယ်ဝိုက်လှည့်ကွက်) ကိုလျင်မြန်စွာရှာဖွေရန် Get_Defined_constants () ကိုသုံးပါ။

Contrefines_constants () ကိုအလျင်အမြန်သတ်မှတ်ထားသည့်နေရာများ (သွယ်ဝိုက်လှည့်ကွက်) ကိုလျင်မြန်စွာရှာဖွေရန် Get_Defined_constants () ကိုသုံးပါ။

M66 2025-06-02

PHP ကို ​​အသုံးပြု. ကြီးမားသောစီမံကိန်းများသို့မဟုတ်အမွေအနှစ်စနစ်များကိုထိန်းသိမ်းထားသည့်အခါကြိုတင်သတ်မှတ်ထားသော constants အမျိုးမျိုးကိုကျွန်ုပ်တို့မကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ ၎င်းတို့ကိုမူဘောင်များ, စာကြည့်တိုက်များ, configuration files များဖြင့်သတ်မှတ်နိုင်သည်။ သင်၏ကုဒ်ကိုသင် debug လုပ်ပြီးပြုပြင်ပြောင်းလဲသည့်အခါသင်မကြာခဏရှုပ်ထွေးသွားလေ့ရှိသည်။

PHP သည် built-in function get_defined_constants () ကိုလက်ရှိ script တွင်ဖော်ပြထားသည်။ သို့သော်ကံမကောင်းစွာဖြင့်၎င်းသည်မည်သည့်ဖိုင်သို့မဟုတ်စဉ်ဆက်မပြတ်ကြောင်းမည်သည့်ဖိုင်ကိုသတ်မှတ်သည်ကိုတိုက်ရိုက်မပြောပါ။ ဤဆောင်းပါးသည် Get_Defined_constants () ကို အသုံးပြု. အဆက်မပြတ်အချို့သောအရင်းအမြစ်ကိုရှာဖွေရန်ကူညီရန်ရိုးရှင်းသောသွယ်ဝိုက်နည်းစနစ်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

1 ။ အခြေခံအသုံးပြုမှုကိုပြန်လည်သုံးသပ်

Get_Defined_constants () လက်ရှိကိန်းရှင်များ၏အမည်များနှင့်တန်ဖိုးများပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်လည်ပေးအပ်သည်။

 print_r(get_defined_constants());

output ရလဒ်သည်ဆင်တူသည်။

 Array
(
    [E_ERROR] => 1
    [E_WARNING] => 2
    [MY_CUSTOM_CONSTANT] => abc123
    ...
)

သို့သော်၎င်းသည် "Traceability" ၏လိုအပ်ချက်များကိုဖြည့်ဆည်းနိုင်။ မရပါ။

2 ။ သွယ်ဝိုက်ကျွမ်းကျင်မှုများ

ကျွန်ုပ်တို့သည်စဉ်ဆက်မပြတ်ဖိုင်ကိုသတ်မှတ်ထားသည့်အတွက်ခွဲခြမ်းစိတ်ဖြာရန် "ခြားနားချက်နှိုင်းယှဉ်မှု" ဟူသောအယူအဆကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။

အောက်ပါအတိုင်းအဆင့်များမှာ -

  1. စဉ်ဆက်မပြတ် Snapshot A : Get_Defines_Comantants () ကိုဖုန်းမထည့်ခင်) ဖုန်းမထည့် ခင်

  2. Object File : သင်သံသယရှိသူကိုသင်သံသယရှိသူအား သတ်မှတ်ခြင်း သို့မဟုတ် ထည့်သွင်းထားသော ကိန်းဂဏန်းများကိုသတ်မှတ်ထားသည့်ဖိုင်များကိုထည့်ပါ။

  3. စဉ်ဆက်မပြတ် Snapshot R ကိုမှတ်တမ်းတင်ခြင်း B : Get_Defines_Constants () ထပ်မံခေါ်ဆိုပါ။

  4. ခြားနားချက်ခွဲခြမ်းစိတ်ဖြာခြင်း - Snapshots A နှင့် B တို့အကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ခြင်းနှင့်နှိုင်းယှဉ်ခြင်းအားဖြင့်ဤဖိုင်တွင်မည်သည့်ကိန်းဂဏန်းများကိုမိတ်ဆက်ပေးခဲ့ကြောင်းသင်သိနိုင်သည်။

ဤတွင်ပြည့်စုံသောဥပမာတစ်ခုမှာ -

 <?php

// ပထမခြေလှမ်း:ကန ဦး စဉ်ဆက်မပြတ်စာရင်းကိုမှတ်တမ်းတင်ပါ
$before = get_defined_constants();

// အဆင့် 2:သင်သံသယရှိကြောင်းစာရွက်စာတမ်းများမိတ်ဆက်ပါ
require_once 'https://m66.net/includes/config.php';

// အဆင့် 3:သွင်းကုန်စဉ်ဆက်မပြတ်စာရင်းကိုမှတ်တမ်းတင်ပါ
$after = get_defined_constants();

// အဆင့် 4:အသစ်မိတ်ဆက်ထားသောကိန်းစုကိုခွဲခြမ်းစိတ်ဖြာ
$newConstants = array_diff_assoc($after, $before);

echo "အသစ်စက်စက်သတ်မှတ်ထားသောကိန်းသားဖြစ်ကြသည်:\n";
print_r($newConstants);

Config.php တွင် Config.php တွင်မည်သည့်ကိန်းဂဏန်းအသစ်များကိုအဘယ်အရာကိုသတ်မှတ်မည်ကိုသင်တွေ့လိမ့်မည်။ ကျွန်ုပ်တို့သည် "definit line နံပါတ်" ကိုတိုက်ရိုက် ရယူ. မရပါကဤဖိုင်သည်ဤကိန်းဂဏန်းများကိုမိတ်ဆက်ပေးသည်ဟုရှင်းလင်းစွာဖော်ပြထားသည်။

3 ။ အဆင့်မြင့်အသုံးပြုမှု: debugging ကိရိယာများနှင့်အတူတိကျသော positioning

အကယ်. Constitants ကိုဖိုင်တစ်ခုတွင်သတ်မှတ်ထားကြောင်းအတည်ပြုပြီးပါက "PHPPCTAMS) (PHPPST ကဲ့သို့သော) အယ်ဒီတာသို့မဟုတ် ide (ဥပမာ phpmmorm) ၏အကူအညီဖြင့် " My_constant ' function ကိုတိတိကျကျ။

ထို့အပြင် XDebug ကဲ့သို့သော Debugger ကဲ့သို့သော Debugger များသည် breakpoints များကိုသတ်မှတ်ပြီးနောက်တွင်ပုံမှန်အားဖြင့်အချိန်နှင့်တပြေးညီမှတ်ပုံတင်ခြင်းကိုစောင့်ကြည့်နိုင်သည်။

4 ။ အကျဉ်းချုပ်

Get_Defined_constants () သည် "မည်သည့်လိုင်းနှင့်နှိုင်းယှဉ်ခြင်းမပြုမီနှင့်အပြီး" ၏အကူအညီဖြင့် "မည်သူသည်မည်သည့်လိုင်းနှင့်အညီအစဉ်အမြဲသတ်မှတ်မည်" ဟုသင့်အားတိုက်ရိုက်မပြောနိုင်ပါ။ ဤနည်းစနစ်သည်အထူးသဖြင့်သင့်လျော်သည်။

  • လျှို့ဝှက်ဆန်းကြယ်သောကိန်းဂဏန်းများ၏အရင်းအမြစ်ကိုဖြေရှင်းခြင်း

  • ပြင်ပစာကြည့်တိုက်များကမိတ်ဆက်ကမ္ဘာလုံးဆိုင်ရာညစ်ညမ်းမှုကိုဆန်းစစ်လေ့လာပါ

  • အဆက်မပြတ်ယိုစိမ့်မှုကိုအလိုအလျောက်စမ်းသပ်ခြင်းတွင်စောင့်ကြည့်လေ့လာခြင်း

သင်သည်ဤအယူအဆကိုအထွေထွေ debugging tool တစ်ခုအဖြစ် oncapsulate လုပ်နိုင်သည်, အလားတူပြ problems နာများနှင့်ကြုံတွေ့ရသောအခါအလျင်အမြန်ရပ်တန့်ပြီးရလဒ်နှစ်ကြိမ်ရလဒ်ကိုရရှိခဲ့သည်။