လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ခွင့်ပြုချက်အမည်များကိုအကောင်အထည်ဖော်ရန်ခွင့်ပြုချက်များ၏စာနယ်ဇင်းများကိုအကောင်အထည်ဖော်ရန် Array_Flip () ကိုသုံးပါ

ခွင့်ပြုချက်အမည်များကိုအကောင်အထည်ဖော်ရန်ခွင့်ပြုချက်များ၏စာနယ်ဇင်းများကိုအကောင်အထည်ဖော်ရန် Array_Flip () ကိုသုံးပါ

M66 2025-06-03

ခွင့်ပြုချက်စီမံခန့်ခွဲမှုစနစ်များကိုတီထွင်သည့်အခါကျွန်ုပ်တို့သည်ခွင့်ပြုချက်အချက်အလက်များကိုပုံစံအမျိုးမျိုးဖြင့်ပြောင်းလဲရန်လိုအပ်သည်။ ဥပမာအားဖြင့်ခွင့်ပြုချက်အမှတ်အသားများ ( view_user , edit_post ) (ဥပမာ ") နှင့်" Edit PATALE "အဖြစ်) interface ကိုပြသသည့်အခါသတင်းများကဲ့သို့သောခွင့်ပြုချက်အမည်များကိုဒေတာဘေ့စ်တွင်သိမ်းဆည်းထားသည်။

အကယ်. သင်သည်ခွင့်ပြုချက်ကိုမြေပုံရေးဆွဲခြင်းကိုထိန်းသိမ်းထားပါက PPP တွင် array_flip () function သည်ခွင့်ပြုချက်အမည်များအတွက်ပြောင်းပြန်မြေပုံများကိုလျင်မြန်စွာအကောင်အထည်ဖော်ရန်ကူညီနိုင်သည်။ ဤဆောင်းပါးသည်၎င်း၏အသုံးပြုမှုနှင့်ကြိုတင်ကာကွယ်မှုများအကြောင်းပြောဆိုလိမ့်မည်။

1 ။ ခွင့်ပြုချက်မြေပုံ၏အခြေခံဖွဲ့စည်းပုံ

ပုံမှန်အားဖြင့်ကျွန်ုပ်တို့သည်ခွင့်ပြုချက်အမှတ်အသားများသို့ခွင့်ပြုချက်အမည်များကိုသတ်မှတ်သည်။

 $permissions = [
    'အသုံးပြုသူများကိုကြည့်ပါ' => 'view_user',
    'အသုံးပြုသူကိုတည်းဖြတ်ပါ' => 'edit_user',
    'အသုံးပြုသူများကိုဖျက်ပါ' => 'delete_user',
    'ဆောင်းပါးတစ်ပုဒ်ပို့ပါ' => 'publish_post',
    'ဆောင်းပါးကိုတည်းဖြတ်ပါ' => 'edit_post',
];

ဤဖွဲ့စည်းပုံသည် drop-down options များသို့မဟုတ် UI တွင် check boxs များအတွက်သင့်တော်သည်။ သို့သော်စနစ်သည်အမှတ်အသားတစ်ခုရရှိလျှင် (ဥပမာ, API သည် edit_post ကို ပြန်ပို့သည်),

2 ။ array_flip () ပြောင်းပြန်မြေပုံကိုအကောင်အထည်ဖော်ရန်

PHP ၏ Array_flip () သည် ခင်းကျင်းမှု၏သော့များနှင့်တန်ဖိုးများကိုပေါင်းစပ်နိုင်သည်။

 $codeToName = array_flip($permissions);

ဤအချိန်တွင် $ codeoname ၏ဖွဲ့စည်းပုံသည် -

 [
    'view_user' => 'အသုံးပြုသူများကိုကြည့်ပါ',
    'edit_user' => 'အသုံးပြုသူကိုတည်းဖြတ်ပါ',
    'delete_user' => 'အသုံးပြုသူများကိုဖျက်ပါ',
    'publish_post' => 'ဆောင်းပါးတစ်ပုဒ်ပို့ပါ',
    'edit_post' => 'ဆောင်းပါးကိုတည်းဖြတ်ပါ',
]

ထို့နောက်သင်သည်သက်ဆိုင်ရာအမည်ကိုခွင့်ပြုချက်အမှတ်အသားမှတစ်ဆင့်လျင်မြန်စွာရယူနိုင်သည်။

 $code = 'edit_post';
echo $codeToName[$code]; // ထုတ်လုပ်ခြင်း:ဆောင်းပါးကိုတည်းဖြတ်ပါ

3 ။ လက်တွေ့ကျတဲ့ application ဇာတ်လမ်းတွဲနှင့်အတူပေါင်းစပ်

ခွင့်ပြုချက်စစ်ဆေးမှုကိုပြန်လည်ပေးအပ်သောခွင့်ပြုချက်စစ်ဆေးခြင်းမျက်နှာပြင်ရှိသည်ဆိုပါစို့။

 $userPermissions = ['view_user', 'edit_post'];

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

 $permissionNames = array_map(function($code) use ($codeToName) {
    return $codeToName[$code] ?? 'အမည်မသိခွင့်ပြုချက်';
}, $userPermissions);

print_r($permissionNames);

output ရလဒ် -

 Array
(
    [0] => အသုံးပြုသူများကိုကြည့်ပါ
    [1] => ဆောင်းပါးကိုတည်းဖြတ်ပါ
)

4 ။ မှတ်စုများ

  1. ထပ်ခါတလဲလဲတန်ဖိုးများကိုထပ်ခါတလဲလဲမလုပ်နိုင်ပါarray_flip () သည် မူလခင်းကျင်းမှု၏တန်ဖိုးကိုထပ်ခါတလဲလဲမလုပ်နိုင်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်:

     $arr = ['A' => 'x', 'B' => 'x'];
    var_dump(array_flip($arr)); // သာဆက်လက်ထိန်းသိမ်းထား 'x' => 'B'
    
  2. static မြေပုံအတွက်သင့်တော်သည်array_flip () သည်များသောအားဖြင့်သတ်မှတ်ထားသောခွင့်ပြုချက်ဖွဲ့စည်းပုံနှင့်အတူစနစ်များအတွက်သင့်လျော်သည်။ အကယ်. ခွင့်ပြုချက်ကို Runtime တွင်ပုံမှန်အားဖြင့်ထုတ်လွှတ်ပေးပါကပြောင်းပြန်မြေပုံကိုကိုင်တွယ်ရန်ဒေတာဘေ့စ်သို့မဟုတ် cache scheme ကိုအသုံးပြုရန်အကြံပြုသည်။

  3. စွမ်းဆောင်ရည်တိုးတက်စေရန်အတွက် cache နှင့်ပေါင်းစပ်ခြင်း - ခွင့်ပြုချက်အချက်အလက်များဒေတာဘေ့စ်သို့မဟုတ် configuration file မှလာသည်ဆိုပါစို့။

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

Array_flip () ကို အသုံးပြု. "ခွင့်ပြုချက်အမှတ်အသား (ခွင့်ပြုချက်အမည်" အတွက်နှစ် ဦး နှစ်ဖက်အပြန်အလှန်ပြောင်းလဲခြင်းအတွက်သင့်တော်သောရိုးရှင်းသော, အထူးသဖြင့် interface display ကိုကိုင်တွယ်ဖြေရှင်းခြင်း (သို့) သစ်ထုတ်လုပ်ခြင်း,

အကယ်. သင်သည် PHP အခြေပြုခွင့်ပြုချက်စနစ်ကိုတီထွင်နေပါက array_flip () ကို သင်၏မြေပုံဆွဲခြင်းအတွက်အသုံးပြုပါ။