Menu ခွင့်ပြုချက်စီမံခန့်ခွဲမှုစီမံခန့်ခွဲမှုသည်စံပြခွင့်ပြုချက်စီမံခန့်ခွဲမှုစနစ်များကိုတီထွင်သောအခါဤ၏အရေးကြီးသောအပိုင်းဖြစ်သည်။ ကွဲပြားခြားနားသောမီနူးပစ္စည်းများရယူရန်မတူညီသောအသုံးပြုသူများသို့မဟုတ်အခန်းကဏ် enctions များကိုဖွင့်ရန် PHP ၏ built-in function arraiff () ကိုသုံးနိုင်သည်။ ဤဆောင်းပါးသည်ကွဲပြားသောမီနူးခွင့်ပြုချက်စီမံခန့်ခွဲမှုစနစ်ကိုအကောင်အထည်ဖော်ရန် Array_diff () function ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
PHP တွင် Array_diff () function သည်နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသော array နှစ်ခုသို့မဟုတ်နှစ်ခုထက် ပို. နှိုင်းယှဉ်ရန်, ၎င်း၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
array_diff(array $array1, array $array2, array ...$arrays): array
ဤလုပ်ဆောင်မှုသည် ဒေါ်လာ array 1 တွင် element များပါ 0 င်သောအရာများကိုထည့်သွင်းထားသော်လည်း ဒေါ်လာ array2 နှင့်အခြား array များမဟုတ်ပါ။
Menu ခွင့်ပြုချက်စီမံခန့်ခွဲမှုတွင်အသုံးပြုသူတစ် ဦး စီတွင်ခွင့်ပြုချက်သတ်မှတ်ချက်များ (များသောအားဖြင့် menu item ၏ ID ၏ ID) တွင်ရှိသည်။ ကျွန်ုပ်တို့သည် array_diff () function ကို သုံး. စီမံခန့်ခွဲသူ၏ပြည့်စုံသောမီနူးနှင့်သာမန်သုံးစွဲသူများ၏မီနူးအကြားခြားနားချက်ကိုသုံးနိုင်သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည်မီနူးများအားလုံးနှင့်အသုံးပြုသူတစ် ဦး ချင်းစီအတွက်ခွင့်ပြုချက်များစွာပါ 0 င်သည်။ ဥပမာအားဖြင့်, ကျွန်ုပ်တို့တွင် Menu menu menu menu items items items its ရိယာတစ်ခုရှိပြီးဆိုပါစို့ဆိုပါစို့။
// စနစ်အတွင်းရှိ menu ပစ္စည်းများ
$all_menus = [
1 => 'ရှေ့စာမျက်နှာ',
2 => 'အသုံးပြုသူ',
3 => 'ကုန်ပစ္စည်းစီမံခန့်ခွဲမှု',
4 => 'အမိန့်စီမံခန့်ခွဲမှု',
5 => 'ဘဏ် financial ာရေးဖော်ပြချက်များ',
6 => 'စနစ်ချိန်ညှိချက်များ'
];
// အုပ်ချုပ်ရေးမှူး၏မီနူးခွင့်ပြုချက်
$admin_permissions = [1, 2, 3, 4, 5, 6]; // အုပ်ချုပ်ရေးမှူးများအားလုံးသည်မီနူးများကိုရယူနိုင်သည်
// သာမန်အသုံးပြုသူများအတွက်မီနူးခွင့်ပြုချက်
$user_permissions = [1, 2, 3, 4]; // သာမန်အသုံးပြုသူများသည်အချို့သောမီနူးများကိုသာဝင်ရောက်နိုင်သည်
နောက် Administrator menu နှင့်သာမန်အသုံးပြုသူ menu ကိုရရှိရန်ကျွန်ုပ်တို့ array_diff () ကို သုံးသည်။ ကျွန်ုပ်တို့ပြန်လာလိုသည့် menu သည်သာမန်အသုံးပြုသူများတွင် 0 င်ရောက်ခွင့်မပြုသည့်မီနူးတစ်ခုဖြစ်ကြောင်း,
// အုပ်ချုပ်ရေးမှူးနှင့်ပုံမှန်အသုံးပြုသူ menus အကြားခြားနားချက်ကိုရယူပါ
$diff_permissions = array_diff($admin_permissions, $user_permissions);
// ကွဲပြားခြားနားသော menu ကိုခွင့်ပြုချက်ထွက်ပုံနှိပ်ထုတ်
echo "အုပ်ချုပ်ရေးမှူး - သီးသန့်မီနူးခွင့်ခွင့်ပြုချက်:\n";
foreach ($diff_permissions as $menu_id) {
echo $all_menus[$menu_id] . "\n";
}
အထက်ပါကုဒ်များမှတစ်ဆင့်ကျွန်ုပ်တို့သည်စီမံခန့်ခွဲသူတွင်စီမံခန့်ခွဲမှုရှိသည့် menu ကို output လုပ်ထားသည့်ပစ္စည်းများပြုလုပ်နိုင်သည်။ သို့သော်သာမန်အသုံးပြုသူများကိုလက်လှမ်းမမီနိုင်ပါ။ Execution ရလဒ်များမှာအောက်ပါအတိုင်းဖြစ်သည် -
အုပ်ချုပ်ရေးမှူး - သီးသန့်မီနူးခွင့်ခွင့်ပြုချက်:
ဘဏ် financial ာရေးဖော်ပြချက်များ
စနစ်ချိန်ညှိချက်များ
အမှန်တကယ်ခွင့်ပြုချက်စီမံခန့်ခွဲမှုစနစ်တွင်ကျွန်ုပ်တို့သည်အသုံးပြုသူ၏ခွင့်ပြုချက်အပေါ် အခြေခံ. ကွဲပြားခြားနားသောမီနူး links များကို dvance အရပြောင်းလဲရန်လိုအပ်သည်။ Menu item ကိုတိကျတဲ့ URL နှင့်ချိတ်ဆက်ရန်လိုအပ်ကြောင်းယူဆရသော်လည်း Menu Array ရှိ URL ကိုထည့်သွင်းပြီးခွင့်ပြုချက်များကိုစီစစ်သည့်အချိန်တွင် URL ကို filter လုပ်နိုင်ပါတယ်။
// TEPTERTOTT URL မီနူးပစ္စည်းများ
$menus_with_url = [
1 => ['name' => 'ရှေ့စာမျက်နှာ', 'url' => 'https://www.m66.net/home'],
2 => ['name' => 'အသုံးပြုသူ', 'url' => 'https://www.m66.net/user-management'],
3 => ['name' => 'ကုန်ပစ္စည်းစီမံခန့်ခွဲမှု', 'url' => 'https://www.m66.net/product-management'],
4 => ['name' => 'အမိန့်စီမံခန့်ခွဲမှု', 'url' => 'https://www.m66.net/order-management'],
5 => ['name' => 'ဘဏ် financial ာရေးဖော်ပြချက်များ', 'url' => 'https://www.m66.net/financial-report'],
6 => ['name' => 'စနစ်ချိန်ညှိချက်များ', 'url' => 'https://www.m66.net/system-settings']
];
// အုပ်ချုပ်ရေးမှူးနှင့်ပုံမှန်အသုံးပြုသူ menus အကြားခြားနားချက်ကိုရယူပါ
$diff_permissions = array_diff($admin_permissions, $user_permissions);
// ကွဲပြားခြားနားသော menuus ပုံနှိပ် URL
echo "အုပ်ချုပ်ရေးမှူး - သီးသန့်မီနူးခွင့်ခွင့်ပြုချက်及链接:\n";
foreach ($diff_permissions as $menu_id) {
echo $menus_with_url[$menu_id]['name'] . " - " . $menus_with_url[$menu_id]['url'] . "\n";
}
ကွပ်မျက်ရလဒ်များသည်ဤကဲ့သို့ဖြစ်လိမ့်မည်:
အုပ်ချုပ်ရေးမှူး - သီးသန့်မီနူးခွင့်ခွင့်ပြုချက်及链接:
ဘဏ် financial ာရေးဖော်ပြချက်များ - https://www.m66.net/financial-report
စနစ်ချိန်ညှိချက်များ - https://www.m66.net/system-settings
အထက်ပါနည်းလမ်းများမှတဆင့် PHP ၏ Array_diff () function ကိုအသုံးပြုသည်။ စီမံခန့်ခွဲသူများအားလုံးသည်မီနူးများအားလုံးကိုရယူနိုင်သည်။ URL နှင့်ပေါင်းစပ်ပြီးကျွန်ုပ်တို့သည်အသုံးပြုသူအတွေ့အကြုံကိုပိုမိုမြှင့်တင်ရန်မီနူးတစ်ခုစီအတွက်ဆက်သွယ်မှုချိတ်ဆက်မှုများပေးနိုင်သည်။
ဤနည်းအားဖြင့်အသုံးပြုသူများသည်အသုံးပြုသူများကိုခွင့်ပြုချက်ရရှိရန်ခွင့်ပြုချက်ရှိသော်လည်း၎င်းကိုအသုံးပြုသူများမြင်သာသောမီနူးများမြင်နိုင်သောမီနူးများကိုထိရောက်စွာထိန်းချုပ်နိုင်သည်။ အမှန်တကယ်လိုအပ်ချက်များနှင့်အညီဤလုပ်ဆောင်ချက်ကိုချဲ့ထွင်နိုင်ပြီးခွင့်ပြုချက်ထိန်းချုပ်ရေးယုတ္တိဗေဒကိုထည့်ပါ။