ဖွံ့ဖြိုးရေးစဉ်အတွင်းကျွန်ုပ်တို့သည်စီမံကိန်းသတ်မှတ်ချက်များကိုပြုပြင်ရန် YAML သို့မဟုတ် Ini ဖိုင်များကိုအသုံးပြုလေ့ရှိသည်။ ၎င်းကို Array သို့ကူးပြောင်းပြီးနောက်နောက်သော့ချက်အဆင့်သည်ခင်းကျင်းနေသောသော့များသည်မျှော်လင့်ချက်များနှင့်ကိုက်ညီမှုရှိမရှိစစ်ဆေးရန်ဖြစ်သည်။ ဤဆောင်းပါးသည် PHP ကို အသုံးပြု. YAML / Ini ဖိုင်၏အကြောင်းအရာကိုခင်းကျင်းမှုထဲသို့မည်သို့ပြောင်းလဲစေပြီးအချက်အလက်များ၏သမာဓိနှင့်လုံခြုံမှုကိုသေချာစေရန်သော့များကိုစစ်ဆေးရန်ဥပမာတစ်ခုအဖြစ်ဤဆောင်းပါးသည် PHP ကိုဥပမာတစ်ခုအဖြစ်အသုံးပြုလိမ့်မည်။
YAML နှင့် Ini တို့သည်အသုံးပြုသော configuration file formats နှစ်ခုဖြစ်သည်။ PPP ကသူတို့ကိုကောင်းကောင်းထောက်ပံ့သည်။
YAML ဖိုင်များကိုခွဲခြမ်းစိတ်ဖြာသောအခါ Yaml_parse_File () ကို များသောအားဖြင့်အသုံးပြုလေ့ရှိသည် (YAML extension ကို install လုပ်ရန်လိုအပ်သည်) ။
Ini ဖိုင်များကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါ, built-in function parse_ini_file () ကိုသုံးပါ။
database:
host: localhost
port: 3306
username: root
password: secret
[database]
host = localhost
port = 3306
username = root
password = secret
// YAML parsing ဖိုင်တွဲ
$config = yaml_parse_file('config.yaml');
// INI parsing ဖိုင်တွဲ
$config = parse_ini_file('config.ini', true); // true Multidimensional Array ကိုပြန်ပို့ရန်ရည်ညွှန်းသည်
ပရိုဂရမ်၏ကြံ့ခိုင်မှုကိုသေချာစေရန်မျှော်လင့်ထားသည့်သော့ချက်အမည်များကိုသတ်မှတ်ရန်အသုံးဝင်သည်။
$expectedKeys = [
'database' => ['host', 'port', 'username', 'password']
];
function validateKeys(array $config, array $expectedKeys): array {
$errors = [];
foreach ($expectedKeys as $section => $keys) {
if (!isset($config[$section])) {
$errors[] = "configuration အပိုင်းပျောက်ဆုံးနေ: $section";
continue;
}
foreach ($keys as $key) {
if (!array_key_exists($key, $config[$section])) {
$errors[] = "ပြင်ဆင်မှုအပိုင်း [$section] သော့ချက်သော့ချက်: $key";
}
}
}
return $errors;
}
$errors = validateKeys($config, $expectedKeys);
if (!empty($errors)) {
foreach ($errors as $error) {
echo "အမှား: $error\n";
}
exit("configuration စိစစ်အတည်ပြုပျက်ကွက်,ကျေးဇူးပြု။ ကျသင့်ငွေတွက်ပေးပါ config.yaml သို့မဟုတ် config.ini စာချုပ်စာတမ်း。\n");
}
ကျွန်ုပ်တို့တွင်ဒေတာဘေ့စ်ဆက်သွယ်မှုများနှင့် API Gateways များကိုထိန်းချုပ်သောစီမံကိန်း configuration file တစ်ခုရှိသည်ဆိုပါစို့။
$apiUrl = "https://api.m66.net/v1/connect";
if ($config['database']['host'] === 'localhost') {
echo "ဒေသခံဒေတာဘေ့စနှင့်ဆက်သွယ်ခြင်း...\n";
} else {
echo "ဝေးလံသောဒေတာဘေ့စနှင့်ဆက်သွယ်ပါ: " . $config['database']['host'] . "\n";
}
echo "အသုံးပြု API စကားပေြာဟော:$apiUrl\n";
အထက်ပါအဆင့်များမှတစ်ဆင့်ကျွန်ုပ်တို့သည် YAML သို့မဟုတ် Ini configuration files များကိုခွဲခြမ်းစိတ်ဖြာနိုင်ပြီးပျောက်ဆုံးနေသောသို့မဟုတ်အမှားများကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ ဤချဉ်းကပ်မှုသည်စီမံကိန်းကြီးများအတွက်အထူးအရေးကြီးသည်, ဘာကြောင့်လဲဆိုတော့၎င်းသည် Code အား 0 င်ရောက်ခြင်းနှင့်အမှားသည်းခံမှုကိုတိုးတက်စေသည်။
အထက်ပါအတည်ပြုသည့်လုပ်ဆောင်ချက်များကိုစနစ်၏တည်ငြိမ်သောလည်ပတ်မှုကိုသေချာစေရန်စံလည်ပတ်မှုလုပ်ငန်းစဉ်၏တစ်စိတ်တစ်ပိုင်းအနေဖြင့်သင်၏ configuration loading လုပ်ငန်းစဉ်အဖြစ်ပေါင်းစပ်ရန်အကြံပြုသည်။