Software Development နှင့် configuration စီမံခန့်ခွဲမှုများကိုလုပ်ဆောင်သည့်အခါ configuration files များသို့မဟုတ် array အချက်အလက်များကိုရှာဖွေရန်မကြာခဏလိုအပ်သည်။ PHP သည် array_diff_Usoc ဟုခေါ်သော function ကိုထောက်ပံ့ပေးသည်။ တန်ဖိုးများကိုနှိုင်းယှဉ်ခြင်းအပြင်သင်၌ခင်းကျင်းကွဲပြားခြားနားမှုနှင့်နှိုင်းယှဉ်ပါကခင်းကျင်းခြင်း၏သော့ချက်များနှင့်တန်ဖိုးများကိုပြုလုပ်ရန်စိတ်ကြိုက်နှိုင်းယှဉ်မှု function ကိုသုံးနိုင်သည်။
ဤဆောင်းပါးသည် configuration ပြောင်းလဲခြင်းကိုရှာဖွေခြင်းကိုအကောင်အထည်ဖော်ရန် Arraiff_Diff_UAAST_UAASTION function ကိုမည်သို့အသုံးပြုရမည်ကိုသရုပ်ဖော်ရန်ဥပမာတစ်ခုကိုအသုံးပြုလိမ့်မည်။
array_diff_Usassoc function ကိုနှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောကွဲပြားခြားနားမှုများကိုတွက်ချက်ရန်အသုံးပြုသည်။ အထူးသဖြင့်ခင်းကျင်းခြင်း၏သော့ချက်များနှင့်တန်ဖိုးများကိုစိတ်ကြိုက်ခေါ်ဆိုမှု function ကိုနှိုင်းယှဉ်ထားသည်။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_diff_uassoc(array $array1, array $array2, callable $value_compare_func): array
$ array1 : နှိုင်းယှဉ်ခံရဖို့ပထမ ဦး ဆုံးခင်းကျင်း။
$ array2 : နှိုင်းယှဉ်ရန်ဒုတိယခင်းကျင်း။
$ LIVE_COSPARE_FANT : သော့ချက်များနှင့်တန်ဖိုးများကိုခင်းကျင်းခြင်းနှင့်နှိုင်းယှဉ်ခြင်းအတွက်စိတ်ကြိုက်နှိုင်းယှဉ်ခြင်း function ကို။
အဆိုပါ function ကိုပထမ ဦး ဆုံးခင်းကျင်းထဲမှာ element တွေပါတဲ့ acray ပါဝင်ပေမယ့်ဒုတိယခင်းကျင်းထဲမှာမဟုတ်ဘဲခင်းကျင်း၏အဓိကတန်ဖိုးများကိုစိတ်ကြိုက် callback function ကိုနှိုင်းယှဉ်နှိုင်းယှဉ်။
ကျွန်ုပ်တို့တွင် configuration array နှစ်ခုရှိသည်ဆိုပါစို့။ တစ်ခုမှာမူရင်း configuration array ဖြစ်ပြီးနောက်တစ်ခုမှာအဆင့်မြှင့်တင်မှုခင်းကျင်းမှုဖြစ်သည်။ array_diff_Usock မှတဆင့်မည်သည့် configuration ပစ္စည်းများပြောင်းလဲသွားပြီကိုရှာဖွေရန်ကျွန်ုပ်တို့မျှော်လင့်ပါသည်။
<?php
// မူရင်း configuration ခင်းကျင်း
$originalConfig = [
'host' => 'localhost',
'port' => 8080,
'user' => 'admin',
'password' => 'password123'
];
// update ပြင်ဆင်ထားသော configuration ခင်းကျင်း
$updatedConfig = [
'host' => 'localhost',
'port' => 8081, // port ပြောင်းလဲသွားပါ
'user' => 'admin',
'password' => 'newpassword123' // password ပြောင်းလဲသွားပါ
];
// စိတ်ကြိုက်နှိုင်းယှဉ်လုပ်ဆောင်ချက်များ:တူညီသောတန်ဖိုးကိုနှိုင်းယှဉ်
function compareValues($a, $b) {
return $a === $b ? 0 : 1;
}
// အသုံးပြု array_diff_uassoc ကွဲပြားခြားနားမှုနှိုင်းယှဉ်
$differences = array_diff_uassoc($updatedConfig, $originalConfig, 'compareValues');
// output ကိုခြားနားချက်
print_r($differences);
?>
မူရင်း configuration နှင့် update ကိုပြင်ဆင်ခြင်း :
$ မူရင်း configuration array သည်ကန ဦး configuration array ဖြစ်သည်။
$ updatedConfig သည် port နှင့် password နှစ်ခုလုံးကိုပြောင်းလဲသွားသည့်အဆင့်မြှင့်တင်ထားသောပြင်ဆင်မှုခင်းကျင်းမှုတစ်ခုဖြစ်သည်။
နှိုင်းယှဉ် :
ဒီ function ဟာတန်ဖိုးနှစ်ခုကအတူတူလားဆိုတာနှိုင်းယှဉ်ဖို့ === ကို သုံးတယ်။ အတူတူပါပဲ 0 င ် 0 ပြန်ပါ။ ဤလုပ်ဆောင်မှုကို array_diff_Uassoc တွင်အသုံးပြုသည် arrays များတွင်နှိုင်းယှဉ်ရန်အတွက်အသုံးပြုသည်။
ကွပ်မျက်ကွဲပြားခြားနားမှုနှိုင်းယှဉ် :
Array_diff_UASTOUC သည် အဓိကတန်ဖိုးအတွဲတစ်ခုစီကိုနှိုင်းယှဉ်ရန် နှိုင်းယှဉ်ခြင်း function ကိုအသုံးပြုသည်။
ဤလုပ်ဆောင်မှုမှပြန်လာသောခြားနားချက်သည် ဒေါ်လာမွမ်းမံထားသော itemsigfig နှင့်ကွဲပြားခြားနားသော $ updatchconfig တွင်ရှိသောသော့ချက်တန်ဖိုးအတွဲများဖြစ်လိမ့်မည်။
အထက်ပါကုဒ်ကိုကျွန်ုပ်တို့ဖွင့်လျှင်, output သည်ကြည့်ရှုလိမ့်မည်။
Array
(
[port] => 8081
[password] => newpassword123
)
သင်မြင်နိုင်သည့်အတိုင်း port နှင့် password ၏တန်ဖိုးများပြောင်းလဲသွားသဖြင့်၎င်းတို့အားမူရင်းဖွဲ့စည်းမှုနှင့်မကိုက်ညီကြောင်းဖော်ပြရန်ပြင်ဆင်မှုများကိုပြန်ဖော်ပြရန်ပြန်လာသည်။
အထူးသဖြင့်ပြင်ဆင်မှုစီမံခန့်ခွဲမှုနှင့်ရှာဖွေတွေ့ရှိခြင်းတို့တွင်အခြေအနေအမျိုးမျိုးတွင်အလွန်အမင်းအသုံးဝင်သည် ။ ဥပမာအားဖြင့်:
System Configuration Change Detection : system settings ကိုမမျှော်လင့်ဘဲပြုပြင်မွမ်းမံရန်သေချာစေရန်အချို့သော configuration file တစ်ခုတွင်ပြောင်းလဲမှုများကိုစစ်ဆေးရန်လိုအပ်သည့်အခါ။
Multi-version configuration နှိုင်းယှဉ်ချက် - ပတ် 0 န်းကျင်တစ်ခုစီသည်မှန်ကန်သော configuration ကိုအသုံးပြုကြောင်းသေချာစေရန်ပတ် 0 န်းကျင်သို့မဟုတ်ဗားရှင်းများအကြား configuration ကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ကြည့်ပါ။
Sensitive Data Monitecting - Username နှင့် Password ကိုအသုံးပြုပြီးအထိခိုက်မခံသောသတင်းအချက်အလက်များပါ 0 င်သော configuration ပစ္စည်းများအတွက်ဤလုပ်ဆောင်မှုကိုအသုံးပြုခြင်းသည်အလျင်အမြန်လုံခြုံရေးပြောင်းလဲမှုများကိုလျင်မြန်စွာရှာဖွေတွေ့ရှိနိုင်သည်။
array_diff_UAAST သည်အလွန်ကောင်းမွန်သော PHP function ကိုတိကျစွာနှိုင်းယှဉ်လုပ်ဆောင်မှုများမှတစ်ဆင့်ခင်းကျင်းခြင်းလုပ်ငန်းများကိုတိတိကျကျနှိုင်းယှဉ်ခြင်းနှင့်နှိုင်းယှဉ်သည်။ Configuration စီမံခန့်ခွဲမှု, ရှာဖွေတွေ့ရှိမှုနှင့်ဗားရှင်းထိန်းချုပ်မှုစသည့်နယ်ပယ်များစွာတွင်အသုံးချပရိုဂရမ်များရှိသည်။ ဤဆောင်းပါး၏နမူနာများမှဥပမာသင်ဤ function ကိုပိုမိုနားလည်ပြီးအသုံးပြုရန်နှင့်ထိရောက်သော configuration ကိုရှာဖွေတွေ့ရှိနိုင်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။