ခွင့်ပြုချက်စီမံခန့်ခွဲမှုစနစ်များကိုတီထွင်သည့်အခါကျွန်ုပ်တို့သည်ခွင့်ပြုချက်အချက်အလက်များကိုပုံစံအမျိုးမျိုးဖြင့်ပြောင်းလဲရန်လိုအပ်သည်။ ဥပမာအားဖြင့်ခွင့်ပြုချက်အမှတ်အသားများ ( view_user , edit_post ) (ဥပမာ ") နှင့်" Edit PATALE "အဖြစ်) interface ကိုပြသသည့်အခါသတင်းများကဲ့သို့သောခွင့်ပြုချက်အမည်များကိုဒေတာဘေ့စ်တွင်သိမ်းဆည်းထားသည်။
အကယ်. သင်သည်ခွင့်ပြုချက်ကိုမြေပုံရေးဆွဲခြင်းကိုထိန်းသိမ်းထားပါက PPP တွင် array_flip () function သည်ခွင့်ပြုချက်အမည်များအတွက်ပြောင်းပြန်မြေပုံများကိုလျင်မြန်စွာအကောင်အထည်ဖော်ရန်ကူညီနိုင်သည်။ ဤဆောင်းပါးသည်၎င်း၏အသုံးပြုမှုနှင့်ကြိုတင်ကာကွယ်မှုများအကြောင်းပြောဆိုလိမ့်မည်။
ပုံမှန်အားဖြင့်ကျွန်ုပ်တို့သည်ခွင့်ပြုချက်အမှတ်အသားများသို့ခွင့်ပြုချက်အမည်များကိုသတ်မှတ်သည်။
$permissions = [
'အသုံးပြုသူများကိုကြည့်ပါ' => 'view_user',
'အသုံးပြုသူကိုတည်းဖြတ်ပါ' => 'edit_user',
'အသုံးပြုသူများကိုဖျက်ပါ' => 'delete_user',
'ဆောင်းပါးတစ်ပုဒ်ပို့ပါ' => 'publish_post',
'ဆောင်းပါးကိုတည်းဖြတ်ပါ' => 'edit_post',
];
ဤဖွဲ့စည်းပုံသည် drop-down options များသို့မဟုတ် UI တွင် check boxs များအတွက်သင့်တော်သည်။ သို့သော်စနစ်သည်အမှတ်အသားတစ်ခုရရှိလျှင် (ဥပမာ, API သည် edit_post ကို ပြန်ပို့သည်),
PHP ၏ Array_flip () သည် ခင်းကျင်းမှု၏သော့များနှင့်တန်ဖိုးများကိုပေါင်းစပ်နိုင်သည်။
$codeToName = array_flip($permissions);
ဤအချိန်တွင် $ codeoname ၏ဖွဲ့စည်းပုံသည် -
[
'view_user' => 'အသုံးပြုသူများကိုကြည့်ပါ',
'edit_user' => 'အသုံးပြုသူကိုတည်းဖြတ်ပါ',
'delete_user' => 'အသုံးပြုသူများကိုဖျက်ပါ',
'publish_post' => 'ဆောင်းပါးတစ်ပုဒ်ပို့ပါ',
'edit_post' => 'ဆောင်းပါးကိုတည်းဖြတ်ပါ',
]
ထို့နောက်သင်သည်သက်ဆိုင်ရာအမည်ကိုခွင့်ပြုချက်အမှတ်အသားမှတစ်ဆင့်လျင်မြန်စွာရယူနိုင်သည်။
$code = 'edit_post';
echo $codeToName[$code]; // ထုတ်လုပ်ခြင်း:ဆောင်းပါးကိုတည်းဖြတ်ပါ
ခွင့်ပြုချက်စစ်ဆေးမှုကိုပြန်လည်ပေးအပ်သောခွင့်ပြုချက်စစ်ဆေးခြင်းမျက်နှာပြင်ရှိသည်ဆိုပါစို့။
$userPermissions = ['view_user', 'edit_post'];
တရုတ်နိုင်ငံ၏အမည်များကိုရှေ့တန်းမျက်နှာပြင်ရှိဤခွင့်ပြုချက်များကိုပြသလိုသည်။
$permissionNames = array_map(function($code) use ($codeToName) {
return $codeToName[$code] ?? 'အမည်မသိခွင့်ပြုချက်';
}, $userPermissions);
print_r($permissionNames);
output ရလဒ် -
Array
(
[0] => အသုံးပြုသူများကိုကြည့်ပါ
[1] => ဆောင်းပါးကိုတည်းဖြတ်ပါ
)
ထပ်ခါတလဲလဲတန်ဖိုးများကိုထပ်ခါတလဲလဲမလုပ်နိုင်ပါ ။ array_flip () သည် မူလခင်းကျင်းမှု၏တန်ဖိုးကိုထပ်ခါတလဲလဲမလုပ်နိုင်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်:
$arr = ['A' => 'x', 'B' => 'x'];
var_dump(array_flip($arr)); // သာဆက်လက်ထိန်းသိမ်းထား 'x' => 'B'
static မြေပုံအတွက်သင့်တော်သည် ။ array_flip () သည်များသောအားဖြင့်သတ်မှတ်ထားသောခွင့်ပြုချက်ဖွဲ့စည်းပုံနှင့်အတူစနစ်များအတွက်သင့်လျော်သည်။ အကယ်. ခွင့်ပြုချက်ကို Runtime တွင်ပုံမှန်အားဖြင့်ထုတ်လွှတ်ပေးပါကပြောင်းပြန်မြေပုံကိုကိုင်တွယ်ရန်ဒေတာဘေ့စ်သို့မဟုတ် cache scheme ကိုအသုံးပြုရန်အကြံပြုသည်။
စွမ်းဆောင်ရည်တိုးတက်စေရန်အတွက် cache နှင့်ပေါင်းစပ်ခြင်း - ခွင့်ပြုချက်အချက်အလက်များဒေတာဘေ့စ်သို့မဟုတ် configuration file မှလာသည်ဆိုပါစို့။
Array_flip () ကို အသုံးပြု. "ခွင့်ပြုချက်အမှတ်အသား (ခွင့်ပြုချက်အမည်" အတွက်နှစ် ဦး နှစ်ဖက်အပြန်အလှန်ပြောင်းလဲခြင်းအတွက်သင့်တော်သောရိုးရှင်းသော, အထူးသဖြင့် interface display ကိုကိုင်တွယ်ဖြေရှင်းခြင်း (သို့) သစ်ထုတ်လုပ်ခြင်း,
အကယ်. သင်သည် PHP အခြေပြုခွင့်ပြုချက်စနစ်ကိုတီထွင်နေပါက array_flip () ကို သင်၏မြေပုံဆွဲခြင်းအတွက်အသုံးပြုပါ။