Configuration Constitants ကို Get_Defined_concentants ကို အသုံးပြု. အလိုအလျှောက်တင်ရန်မည်သို့ဖွံ့ဖြိုးရေးမူဘောင်တွင်အလုပ်လုပ်သနည်း။
ဖွံ့ဖြိုးရေးမူဘောင်တွင်ကိန်းဂဏန်းများကိုတစ်ပုံစံတည်းကိုစီမံခန့်ခွဲရန်နှင့် configure လုပ်ရန်လိုအပ်သည်။ ဒီလိုလုပ်ဖို့ PHP ရဲ့ built-in get_defined_contscants () function ကိုသုံးနိုင်တယ်။ ဤလုပ်ဆောင်မှုမှတစ်ဆင့်ကျွန်ုပ်တို့သည်သတ်မှတ်ထားသောကိန်းဂဏန်းများကိုကြည့်ရှုနိုင်ရုံသာမက Configuration Contactants ကိုအလိုအလျောက်ဖွင့်ထားသည့် functing ၏လုပ်ဆောင်မှုကိုနားလည်သဘောပေါက်သည်။ ဤဆောင်းပါးသည်ဖွံ့ဖြိုးရေးမူဘောင်တွင်ဤရည်မှန်းချက်အောင်မြင်ရန် Get_Defined_constants () function ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
Get_Defined_constants () PHP မှပါ 0 င်သော function တစ်ခုဖြစ်ပြီးလက်ရှိ script တွင်ဖော်ပြထားသော၎င်းတို့၏တန်ဖိုးများအားလုံးကိုပြန်လည်ပေးအပ်ရန် PHP မှပါ 0 င်သည့်လုပ်ဆောင်ချက်ဖြစ်သည်။ ၎င်းကိုနည်းလမ်းနှစ်မျိုးဖြင့်အသုံးပြုနိုင်သည်။
parameters တွေကိုမပါဘဲ : သတ်မှတ်ထားသောကိန်းဂဏန်းများအားလုံးကိုပြန်ပို့သည်။
parameters တွေကိုနှင့်အတူ : system constants, user-defined constants စသည့်တိကျသောစဉ်ဆက်မပြတ်အမျိုးအစားကိုပြန်ပို့သည်။
// အားလုံးသတ်မှတ်ထားသောကိန်းစုကိုရယူပါ
$constants = get_defined_constants();
// အသုံးပြုသူသတ်မှတ်ထားသောကိန်းစုကိုရယူပါ
$constants = get_defined_constants(true)['user'];
ဖွံ့ဖြိုးရေးမူဘောင်တစ်ခုတွင်လျှောက်လွှာ၏ configuration ကိုများသောအားဖြင့် configuration files များသို့မဟုတ်တစ်ခုထက် ပို. သိုလှောင်ထားသည်။ ဤ configuration files များသည်မူဘောင်စစ်ဆင်ရေးအတွင်းမရှိမဖြစ်လိုအပ်သည့်ကိန်းဂဏန်းအမြောက်အများပါ 0 င်နိုင်သည်။
Get_Defined_constants () function သည် function ကိုမူဘောင်၏ startup လုပ်စဉ်အတွင်းအလိုအလျောက်တင်ဆောင်ခွင့်ပြုသည်။ အောက်ဖော်ပြပါများသည်သီးခြားစစ်ဆင်ရေးအဆင့်များဖြစ်သည်။
လျှောက်လွှာ၏စဉ်ဆက်မပြတ်အဓိပ္ပါယ်ဖွင့်ဆိုချက်ပါ 0 င်သည့် configuration file config.php ရှိသည်ဆိုပါစို့။
// config.php
define('APP_ENV', 'development');
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', 'password');
define('DB_NAME', 'my_database');
Framework ၏ Entry ဖိုင် (ဥပမာ index.php သို့မဟုတ် bootstrappp ကဲ့သို့သော) တွင်ဤ configuration file ကိုမိတ်ဆက်ပေးပြီး Configuration Contactants ကိုဖွင့်ရန် Get_Defines_constants () function ကိုသုံးရန်လိုအပ်သည်။
// configuration ဖိုင်များကိုမိတ်ဆက်ပေးရန်
require_once 'config.php';
// အားလုံးသတ်မှတ်ထားသောကိန်းစုကိုရယူပါ
$constants = get_defined_constants(true)['user'];
// output ကိုသတ်မှတ်ကိန်း
foreach ($constants as $name => $value) {
echo "Constant: $name, Value: $value\n";
}
အထက်ပါကုဒ်များမှတစ်ဆင့် Config.php ကို Config.php တွင် Config.php သို့ 0 န်ဆောင်မှုပေးသည်။ ဤရွေ့ကားကိန်းဂဏန်းများကိုမူဘောင်၏အခြားအစိတ်အပိုင်းများအတွက်အသုံးပြုနိုင်ပါတယ်။
ကွဲပြားခြားနားသောပတ်ဝန်းကျင် (ဖွံ့ဖြိုးရေး, စစ်ဆေးခြင်း, ထုတ်လုပ်ခြင်း, ထုတ်လုပ်ခြင်းစသဖြင့်) ကိုထောက်ပံ့ရန် (ဖြည့်စွက်ခြင်းဖိုင်တွင်ပတ် 0 န်းကျင်ဆိုင်ရာ variable များကိုလည်းဖြည့်ဆည်းပေးနိုင်ပြီးမတူကွဲပြားသော configuration contiguration contignets ကိုပြောင်းလဲနိုင်သည်။
// config.php
define('APP_ENV', 'development');
if (APP_ENV === 'development') {
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', 'root');
define('DB_NAME', 'dev_db');
} elseif (APP_ENV === 'production') {
define('DB_HOST', 'prod.db.server');
define('DB_USER', 'prod_user');
define('DB_PASS', 'prod_pass');
define('DB_NAME', 'prod_db');
}
Framework တွင် App_env စဉ်ဆက်မပြတ်၏တန်ဖိုးအရကွဲပြားခြားနားသောဒေတာဘေ့စ်ဖွဲ့စည်းမှုကိုဖွင့်နိုင်သည်။ Get_Defined_constants () ကျွန်ုပ်တို့သည်ဤ configuration contapnants ကိုလွယ်ကူစွာအသုံးပြုနိုင်သည်။
URLs များကိုလုပ်ဆောင်သည့်အခါဒိုမိန်းအမည်ကိုသင်အသုံးပြုရန်လိုအပ်ပါက၎င်းကို Get_Defined_Constants () function တွင်သတ်မှတ်ထားသောကိန်းဂဏန်းများကိုအစားထိုးခြင်းဖြင့်သင်ပြုလုပ်နိုင်သည်။ ဥပမာအားဖြင့်, သင်၏လျှောက်လွှာသည် configuration `configuration` `urls အားလုံးကို M66.net ရှိ URLs အားလုံးတွင် domain name ကိုအစားထိုးလိုပါကအောက်ပါကုဒ်ကိုသုံးနိုင်သည်။
define('BASE_URL', 'http://www.oldurl.com');
// အားလုံးပါရုံကိုရယူပါ
$constants = get_defined_constants(true)['user'];
// စဉ်ဆက်မပြတ်အစားထိုးပါURL
foreach ($constants as $name => $value) {
if (strpos($value, 'http://www.oldurl.com') !== false) {
$new_value = str_replace('http://www.oldurl.com', 'http://m66.net', $value);
define($name, $new_value);
}
}
// output ကိုအစားထိုး
echo BASE_URL; // ထုတ်လုပ်ခြင်း http://m66.net
အထက်ပါကုဒ်များမှတစ်ဆင့် http://www.oldurl.com ၏အစားထိုး http://m66.net နှင့်စဉ်ဆက်မပြတ်အစားထိုးထားပြီး domain name ၏အလိုအလျောက်အစားထိုးလုပ်ဆောင်ချက်ကိုသဘောပေါက်သည်။
PHP ၏ Get_Defined_constants () function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် Configuration Constants နှင့် Configuration Constitants နှင့်အလိုအလျောက်ဖွင့်နိုင်သည်။ ၎င်းသည်ကြီးမားသောဖွံ့ဖြိုးရေးမူဘောင်များနှင့် applications များကိုဖွဲ့စည်းထားသောစီမံခန့်ခွဲမှုစီမံခန့်ခွဲမှုအတွက်အလွန်အသုံးဝင်သည်။ ပတ်ဝန်းကျင်ပြင်ဆင်မှု, URL အစားထိုးခြင်းနှင့်အခြားလုပ်ဆောင်မှုများကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်လျှောက်လွှာကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်။ ထိန်းသိမ်းရန်လွယ်ကူစေသည်။