လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> YAML / Ini ဖိုင်ကို array ထဲသို့ကူးပြောင်းပြီးနောက်အချက်အလက်များကိုလုပ်ဆောင်ရန်အဓိကစစ်ဆေးမှုကိုမည်သို့အသုံးပြုရမည်နည်း။

YAML / Ini ဖိုင်ကို array ထဲသို့ကူးပြောင်းပြီးနောက်အချက်အလက်များကိုလုပ်ဆောင်ရန်အဓိကစစ်ဆေးမှုကိုမည်သို့အသုံးပြုရမည်နည်း။

M66 2025-06-06

ဖွံ့ဖြိုးရေးစဉ်အတွင်းကျွန်ုပ်တို့သည်စီမံကိန်းသတ်မှတ်ချက်များကိုပြုပြင်ရန် YAML သို့မဟုတ် Ini ဖိုင်များကိုအသုံးပြုလေ့ရှိသည်။ ၎င်းကို Array သို့ကူးပြောင်းပြီးနောက်နောက်သော့ချက်အဆင့်သည်ခင်းကျင်းနေသောသော့များသည်မျှော်လင့်ချက်များနှင့်ကိုက်ညီမှုရှိမရှိစစ်ဆေးရန်ဖြစ်သည်။ ဤဆောင်းပါးသည် PHP ကို ​​အသုံးပြု. YAML / Ini ဖိုင်၏အကြောင်းအရာကိုခင်းကျင်းမှုထဲသို့မည်သို့ပြောင်းလဲစေပြီးအချက်အလက်များ၏သမာဓိနှင့်လုံခြုံမှုကိုသေချာစေရန်သော့များကိုစစ်ဆေးရန်ဥပမာတစ်ခုအဖြစ်ဤဆောင်းပါးသည် PHP ကိုဥပမာတစ်ခုအဖြစ်အသုံးပြုလိမ့်မည်။

1 ။ YAML နှင့် Ini ဖိုင်များကိုအခြေခံခွဲခြမ်းစိတ်ဖြာခြင်း

YAML နှင့် Ini တို့သည်အသုံးပြုသော configuration file formats နှစ်ခုဖြစ်သည်။ PPP ကသူတို့ကိုကောင်းကောင်းထောက်ပံ့သည်။

  • YAML ဖိုင်များကိုခွဲခြမ်းစိတ်ဖြာသောအခါ Yaml_parse_File () ကို များသောအားဖြင့်အသုံးပြုလေ့ရှိသည် (YAML extension ကို install လုပ်ရန်လိုအပ်သည်) ။

  • Ini ဖိုင်များကိုခွဲခြမ်းစိတ်ဖြာသည့်အခါ, built-in function parse_ini_file () ကိုသုံးပါ။

နမူနာ yaml ဖိုင် (config.yaml)

 database:
  host: localhost
  port: 3306
  username: root
  password: secret

နမူနာ Ini ဖိုင် (Config.ini)

 [database]
host = localhost
port = 3306
username = root
password = secret

2 ။ ခွဲခြမ်းစိတ်ဖြာခြင်း PHP တွင်အဓိကအတည်ပြုချက်

1 ။ ခင်းကျင်းရန်ဆုံးဖြတ်ခြင်း

 // YAML parsing ဖိုင်တွဲ
$config = yaml_parse_file('config.yaml');

// INI parsing ဖိုင်တွဲ
$config = parse_ini_file('config.ini', true); // true Multidimensional Array ကိုပြန်ပို့ရန်ရည်ညွှန်းသည်

2 ။ မျှော်လင့်ထားသည့်သော့အမည်သတ်မှတ်ပါ

ပရိုဂရမ်၏ကြံ့ခိုင်မှုကိုသေချာစေရန်မျှော်လင့်ထားသည့်သော့ချက်အမည်များကိုသတ်မှတ်ရန်အသုံးဝင်သည်။

 $expectedKeys = [
    'database' => ['host', 'port', 'username', 'password']
];

3 ။ အတည်ပြုချက်ကိုရေးပါ

 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;
}

4 ။ အမှားများကိုစစ်ဆေးပြီးကိုင်တွယ်ပါ

 $errors = validateKeys($config, $expectedKeys);

if (!empty($errors)) {
    foreach ($errors as $error) {
        echo "အမှား: $error\n";
    }
    exit("configuration စိစစ်အတည်ပြုပျက်ကွက်,ကျေးဇူးပြု။ ကျသင့်ငွေတွက်ပေးပါ config.yaml သို့မဟုတ် config.ini စာချုပ်စာတမ်း。\n");
}

3 ။ လက်တွေ့ကျသော application တစ်ခု၏ဥပမာများ

ကျွန်ုပ်တို့တွင်ဒေတာဘေ့စ်ဆက်သွယ်မှုများနှင့် 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";

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

အထက်ပါအဆင့်များမှတစ်ဆင့်ကျွန်ုပ်တို့သည် YAML သို့မဟုတ် Ini configuration files များကိုခွဲခြမ်းစိတ်ဖြာနိုင်ပြီးပျောက်ဆုံးနေသောသို့မဟုတ်အမှားများကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ ဤချဉ်းကပ်မှုသည်စီမံကိန်းကြီးများအတွက်အထူးအရေးကြီးသည်, ဘာကြောင့်လဲဆိုတော့၎င်းသည် Code အား 0 င်ရောက်ခြင်းနှင့်အမှားသည်းခံမှုကိုတိုးတက်စေသည်။

အထက်ပါအတည်ပြုသည့်လုပ်ဆောင်ချက်များကိုစနစ်၏တည်ငြိမ်သောလည်ပတ်မှုကိုသေချာစေရန်စံလည်ပတ်မှုလုပ်ငန်းစဉ်၏တစ်စိတ်တစ်ပိုင်းအနေဖြင့်သင်၏ configuration loading လုပ်ငန်းစဉ်အဖြစ်ပေါင်းစပ်ရန်အကြံပြုသည်။