Symfony တွင် configuration ပစ္စည်းများသည် application ၏ပုံမှန်လည်ပတ်မှုအတွက်အခြေခံဖြစ်သည်။ ဤပြင်ဆင်မှုပစ္စည်းများမှန်ကန်မှုကိုသေချာစေရန်အခြေခံဖြစ်သည်။ Symfony သည် developer များစီမံခန့်ခွဲမှုများကိုစီမံရန်နှင့်အတည်ပြုရန်ကူညီရန်ကိရိယာများစွာပေးသည်။ PHP တွင် built-in function တစ်ခုအနေဖြင့် Array_Diff_key () function သည် array နှစ်ခုကိုနှိုင်းယှဉ်ခြင်းနှင့် configuration ပစ္စည်းများကိုအတည်ပြုသည့်အခါခြားနားချက်ကိုရှာဖွေနိုင်သည်။
Symfony တွင် configuration file များ, ပတ် 0 န်းကျင် variable များသို့မဟုတ်အခြားပြင်ပအရင်းအမြစ်များမှဖြစ်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့တွင်ပုံမှန် configuration array ရှိပြီးအမှန်တကယ် configuration ကို configuration file (သို့) ပြင်ပ 0 န်ဆောင်မှုများမှ Runtime တွင် 0 န်ဆောင်မှုပေးလိမ့်မည်။ အမှန်တကယ် configuration ကိုပျောက်ဆုံးခြင်းသို့မဟုတ်မမှန်မကန်ကိုမမှန်ကန်ကြောင်းသေချာစေရန်အတွက်ကျွန်ုပ်တို့သည် array_diff_ey () ကို သုံးနိုင်သည်။
Array_Diff_Key () function သည် array နှစ်ခုကိုလက်ခံပြီးဒုတိယခင်းကျင်းမှုတွင်မတည်ရှိသည့်ပထမခင်းကျင်းမှုတွင်သော့ချက်အားလုံးကိုပြန်ပို့သည်။ ဤလုပ်ဆောင်ချက်သည် arry နှစ်ခုကိုဒုတိယ array key name name Name Name နှင့်ကွဲပြားခြားနားသောပထမအပိုင်းကိုရှာဖွေရန်နှစ်ခုကိုနှိုင်းယှဉ်ရန်မကြာခဏအသုံးပြုလေ့ရှိသည်။
array_diff_key(array $array1, array $array2): array
ကျွန်ုပ်တို့တွင်ပုံမှန် configuration array default_config နှင့် configuration file or database မှ loaded အမှန်တကယ် configuration ကိုရှိသည်ဆိုပါစို့။ အမှန်တကယ်ပြင်ဆင်မှုတွင်အရေးပါသော configuration ပစ္စည်းများပျောက်ဆုံးနေကြောင်းသေချာစေရန်လိုအပ်သည်။
Configuration ပစ္စည်းများကိုအတည်ပြုရန် Array_Diff_Key () ကိုသုံးရန်နမူနာကုဒ်ဖြစ်သည်။
// ပုံမှန် configuration ခင်းကျင်း
$default_config = [
'database' => 'mysql',
'host' => 'localhost',
'port' => 3306,
'username' => 'root',
'password' => '',
];
// configuration file တစ်ခုသို့မဟုတ်ဒေတာဘေ့စ်မှတင်သောအမှန်တကယ် configuration ကို
$actual_config = [
'database' => 'mysql',
'host' => 'm66.net', // ဒိုမိန်းအမည်ကိုအစားထိုးထားသည်
'port' => 3306,
'username' => 'admin',
];
// အသုံးပြု array_diff_key ပျောက်ဆုံးနေသော configuration ပစ္စည်းများရှာပါ
$missing_config = array_diff_key($default_config, $actual_config);
// ပျောက်ဆုံးနေသော configuration ပစ္စည်းများ output ကို
if (!empty($missing_config)) {
echo "configuration ပစ္စည်းများပျောက်ဆုံးနေ: ";
print_r(array_keys($missing_config));
} else {
echo "အားလုံး configuration ပစ္စည်းများသတ်မှတ်ထားကြသည်";
}
ဤဥပမာတွင်ကျွန်ုပ်တို့သည်မူလပြင်ဆင်မှု $ default_config နှင့်အမှန်တကယ် configuration ကို $ အမှန်တကယ် configuration $ accountration $ account account ။ ထို့နောက် array_diff_key () ကို သုံးရန် array just array () ကို အသုံးပြု. အမှန်တကယ်ပြင်ဆင်မှုတွင်ပျောက်ဆုံးနေသောသော့များကိုရှာဖွေရန်။ ပျောက်ဆုံးနေသော configuration ပစ္စည်းများတည်ရှိပါကကျွန်ုပ်တို့သည်ဤ configuration ပစ္စည်းများ၏အဓိကအကြောင်းရင်းများကိုထုတ်ပေးသည်။
လက်တွေ့ကျသောအပလီကေးရှင်းများတွင်များသောအားဖြင့်လိုအပ်သော configuration item တစ်ခုချင်းစီကို configuration verification မှတဆင့်သတ်မှတ်ထားရန်သေချာစေသည်။ အချို့သော configuration ပစ္စည်းများပျောက်ဆုံးနေပါက developer များ (သို့) အသုံးပြုသူများကို logging လုပ်ခြင်းသို့မဟုတ်ပစ်ချခြင်းဖြင့်၎င်းတို့အားပြင်ဆင်ရန်သတိပေးနိုင်သည်။ ဤနေရာတွင်ထိုကဲ့သို့သောစိစစ်အတည်ပြုလုပ်ဆောင်ရန်မည်သို့ဖြစ်ပါသည်:
// configuration ပစ္စည်းများပျောက်ဆုံးလျှင်စစ်ဆေးပါ
if (!empty($missing_config)) {
// log သို့မဟုတ်ချွင်းချက်ချပစ်
echo "အမှား:အောက်ပါ configuration ပစ္စည်းများပျောက်ဆုံးနေသည်: " . implode(', ', array_keys($missing_config));
} else {
echo "ပြီးပြည့်စုံသော configuration ပစ္စည်းများ,准备开始အသုံးပြု配置";
}
Symfony သည် configurations များကိုစီမံခန့်ခွဲရန်အတွက်အစွမ်းထက် config အစိတ်အပိုင်းများကိုထောက်ပံ့ပေးသည်။ ပိုမိုရှုပ်ထွေးသော configuration syrighation အောင်မြင်ရန် Array_Diff_Key () ကို ပေါင်းစပ်နိုင်သည်။ အမှန်တကယ်ပြင်ဆင်မှုကို default configuration နှင့်မည်သို့နှိုင်းယှဉ်နိုင်ကြောင်းနှင့်အသေးစိတ်အမှားကိုင်တွယ်ပုံပြသည့်ဥပမာတစ်ခုမှာဥပမာတစ်ခုဖြစ်သည်။