လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Multi-module php စနစ်ကိုတီထွင်သည့်အခါ Constants ၏ထပ်ခါတလဲလဲဖော်ပြချက်ကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုကာကွယ်ရန်သတ်မှတ်ထားသော () ကိုမည်သို့အသုံးပြုရမည်နည်း။

Multi-module php စနစ်ကိုတီထွင်သည့်အခါ Constants ၏ထပ်ခါတလဲလဲဖော်ပြချက်ကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုကာကွယ်ရန်သတ်မှတ်ထားသော () ကိုမည်သို့အသုံးပြုရမည်နည်း။

M66 2025-07-10

Multi-module php စနစ်ကိုတီထွင်သည့်အခါ Constants ၏ထပ်ခါတလဲလဲဖော်ပြချက်ကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုကာကွယ်ရန် သတ်မှတ်ထားသော () ကို မည်သို့အသုံးပြုရမည်နည်း။

Multi-module php စနစ်များကိုရေးဆွဲသည့်အခါ, စီမံကိန်းတစ်ခုတွင် module များစွာသည်တူညီသောအဆက်မပြတ်နာမည်တူတူသို့မဟုတ်ပါဝင်သော အဆက်မပြတ် သီးခြားအဓိပ္ပါယ်ဖွင့်ဆိုချက်များနှင့်တူညီသောအဓိပ္ပာယ်ဖွင့်ဆိုချက်ကိုရည်ညွှန်းခြင်း, ဤအမှားကိုကာကွယ်ရန်ကျွန်ုပ်တို့သည် PHP built-in function ကို အသုံးပြု. သတ်မှတ်ခြင်း ဖြင့်အကြိမ်ကြိမ်သတ်မှတ်ထားသောကိန်းဂဏန်းများကိုမကြာခဏသတ်မှတ်ခြင်းကိုရှောင်ရှားနိုင်သည်။

1 ။ စဉ်ဆက်မပြတ်ပုံတူပွားခြင်းအဓိပ္ပါယ်၏အန္တရာယ်

PHP တွင်၎င်းတို့သည်သတ်မှတ်ထားသောတစ်ချိန်က PHP တွင်အမြဲတမ်းပြန်လည်သတ်မှတ်မရနိုင်ပါ။ အကယ်. ပရိုဂရမ်တွင်ဖိုင်များသို့မဟုတ် module များစွာသည်တူညီသောအဆက်မပြတ်အမည်ကိုသတ်မှတ်ပါက PHP သည်များသောအားဖြင့်ဤကဲ့သို့သောဆိုးဝါးသောအမှားတစ်ခုပြုလုပ်လိမ့်မည်။

 Fatal error: Constant 'CONSTANT_NAME' already defined

အကယ်. ဤပြ problem နာကိုကိုင်တွယ်ခြင်းမရှိသေးပါကစနစ်အားပျက်ကျစေနိုင်သည်သို့မဟုတ်စနစ်တကျလည်ပတ်ရန်ပျက်ကွက်နိုင်သည်။

2 ။ Constants ၏ထပ်ခါတလဲလဲအဓိပ္ပာယ်ဖွင့်ဆိုချက်ကိုရှောင်ရှားရန် သတ်မှတ်ထားသော () function ကိုသုံးပါ

သတ်မှတ်ထားသော () သည် PHP တွင်ပါ 0 င်သော function တစ်ခုဖြစ်သည်။ စဉ်ဆက်မပြတ်တည်ရှိပြီးဖြစ်သောကြောင့်၎င်းကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။ ထို့နောက်မတည်ရှိပါက၎င်းကိုအဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုရှောင်ပါ။

သဒ္ဒါ:

 defined('CONSTANT_NAME')

စဉ်ဆက်မပြတ် ကွန်မန်အမြစ်တွယ်နေသော onname ကို သတ်မှတ်ထားပါက သတ်မှတ်ထားသော () မှန်ကန်စွာ ပြန်လည်ရောက်ရှိပါ က ,

3 ။ Code ဥပမာ

ကျွန်ုပ်တို့သည် Module php system ကို Multi-Module php system ကိုတီထွင်နေသည်ဟုဆိုပါစို့ စဉ်ဆက်မပြတ်သတ်မှတ်ခြင်းရှိမရှိမစစ်ဆေးပါကကျွန်ုပ်တို့သည်ထပ်တူအဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုတွေ့ကြုံခံစားနိုင်သည်။ ဤပြ problem နာကိုအောက်ပါနည်းလမ်းများဖြင့်ဖြေရှင်းနိုင်သည်။

 // တည်နေconfig.phpအတွက်အမြဲတမ်းသတ်မှတ်ပါ
if (!defined('SITE_URL')) {
    define('SITE_URL', 'http://m66.net');
}

အထက်ပါဥပမာတွင် consinant site_url ကို သတ်မှတ်ထားသော ('site_url') ကို သတ်မှတ် . သတ်မှတ်ခြင်းရှိမရှိပထမဆုံးစစ်ဆေးသည်။ အဓိပ္ပာယ်မရှိပါက၎င်းကိုသတ်မှတ်ရန်သတ်မှတ်ရန် သတ်မှတ်ခြင်း () ကို ခေါ်ဆိုပါ။ ၎င်းသည်ကွဲပြားခြားနားသော module များရှိ Constants ၏ထပ်ခါတလဲလဲအဓိပ္ပာယ်ဖွင့်ဆိုချက်ကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။

4 ။ အမျိုးမျိုးသောဖိုင်များအတွက်အသုံးပြုပါ

အကယ်. သင်၏ PHP စီမံကိန်းဖွဲ့စည်းပုံသည်အတော်အတန်ရှုပ်ထွေးပါကအမြဲတမ်းလိုအပ်သည့်ဖိုင်များစွာရှိနိုင်သည်။ ဖိုင်တစ်ခုစီသို့ထိုကဲ့သို့သောတရားစီရင်ချက်ထုတ်ပြန်ချက်များကိုထည့်သွင်းခြင်းအားဖြင့်ကိန်းသားများကိုအကြိမ်ပေါင်းများစွာမသတ်မှတ်ထားပါနှင့်။ ဥပမာအားဖြင့်, modulea.php နှင့် Moduleb.php တို့တွင် Modulea.php နှင့် Moduleb.php တို့ဖြစ်သည်ဆိုပါစို့

modulea.php :

 <?php
// တည်နေModuleAအတွင်းစဉ်ဆက်မပြတ်သုံးပါ
if (!defined('SITE_URL')) {
    define('SITE_URL', 'http://m66.net');
}
// Constants ကိုသုံးပါ
echo SITE_URL;

Moduleb.php :

 <?php
// တည်နေModuleBအတွင်းစဉ်ဆက်မပြတ်သုံးပါ
if (!defined('SITE_URL')) {
    define('SITE_URL', 'http://m66.net');
}
// Constants ကိုသုံးပါ
echo SITE_URL;

အကယ်. ထည့်သွင်းခြင်းအားဖြင့် (! သတ်မှတ်ထားခြင်း ('site_url')) module ဖိုင်တစ်ခုစီကိုစစ်ဆေးပါ။

5 ။ ထည့်သွင်းခြင်း နှင့်အတူပေါင်းစပ်အတွက်အသုံးပြုပါသို့မဟုတ် လိုအပ်သည်

ကြီးမားသော PHP စနစ်များကိုရေးဆွဲသည့်အခါကျွန်ုပ်တို့သည်များသော အား ဖြင့် , ဤကိစ္စတွင်ဖိုင်တစ်ဖိုင်ကိုအကြိမ်ကြိမ်တင်လျှင်စဉ်ဆက်မပြတ်ကိုထပ်ခါတလဲလဲသတ်မှတ်ရန်ဖြစ်နိုင်သည်။ ဤပြ problem နာကိုဖြေရှင်းရန် Constitian ကိုပထမ ဦး ဆုံးအကြိမ်တင်ချိန်မှသာသတ်မှတ်ထားသည့်အချိန်မှသာသတ်မှတ်ထားရန်သေချာစေရန်ဖိုင်တစ်ခုစီသို့စစ်ဆေးမှုကိုထည့်သွင်းနိုင်သည်။

ဥပမာအားဖြင့်, Public Configuration file config.php , Global Configuration နှင့် Configuration နှင့် configuration နှင့် system ၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်ပါ 0 င်သည်ဆိုပါစို့။

 // config.php
if (!defined('SITE_URL')) {
    define('SITE_URL', 'http://m66.net');
}

ထို့နောက်အခြား module များက config.php ကို စတင်မိတ်ဆက်သည်သို့မဟုတ်လည်ပတ်မှုများကိုလိုအပ်သည့်နေရာများရှိ သည့် သို့မဟုတ် လိုအပ်သည်

 // ModuleA.php
include 'config.php';
// Constants ကိုသုံးပါ
echo SITE_URL;

ဤနည်းအားဖြင့် Config.php ကို အကြိမ်ပေါင်းများစွာမိတ်ဆက်မည်ဖြစ်သော်လည်းစဉ်ဆက်မပြတ် site_Url ကို တစ်ကြိမ်သာသတ်မှတ်ပြီးထပ်ခါတလဲလဲဖော်ပြချက်အမှားများကိုရှောင်ရှားလိမ့်မည်။

6 ။ နိဂုံးချုပ်

multi-module php စနစ်ကိုတီထွင်သည့်အခါထပ်ခါတလဲလဲအဓိပ္ပာယ်ဖွင့်ဆိုချက်များကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုကာကွယ်ရန်ကျွန်ုပ်တို့သည်၎င်းကို သတ်မှတ်ထားသော () function ကို ဖြတ်. စစ်ဆေးနိုင်သည်။ စဉ်ဆက်မပြတ်သတ်မှတ်ခြင်းမပြုမီ, စဉ်ဆက်မပြတ်သတ်မှတ်ထားခြင်းရှိမရှိစစ်ဆေးပါ။ အကယ်. ၎င်းကိုမသတ်မှတ်ပါကစဉ်ဆက်မပြတ်သည်တစ်ကြိမ်တည်းမှသာသတ်မှတ်လိမ့်မည်။ ဤနည်းလမ်းအားဖြင့်ထပ်ခါတလဲလဲဖော်ပြသောအဓိပ္ပာယ်ဖွင့်ဆိုချက်များကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုထိရောက်စွာရှောင်ရှားနိုင်ပြီးစနစ်တည်ငြိမ်။ ခိုင်မာသည်။

ဆက်စပ်အကြောင်းအရာ