хранение разрешений в многомерном массиве php

ХОРОШОЯ просто пытаюсь стать лучше в создании более слабо связанных классов и т. Д. На PHP только для того, чтобы улучшить свои навыки. У меня есть локальная тестовая база данных на моем компьютере, а для таблицы пользователей у меня есть столбец с именем "role". Я пытаюсь создать функцию, которая является общей функцией для получения разрешений для пользователя, чтобы она не зависела от конкретной задачи, которую он пытается выполнить.

Когда пользователь пытается сделать что-то, например, создать новую тему форума и т. Д., Я хочу запросить базу данных, и если «роль» является определенным значением, хранить разрешения в многомерном массиве, подобном следующему:

$permissions = array(
    'forums' => array("create", "delete", "edit", "lock"),
    'users' => array("edit", "lock")
);

Затем я хочу иметь возможность искать в этом массиве определенное разрешение, не вводя следующее в верхней части каждого файла PHP после того, как пользователь отправляет форму, проверяя isset($var).Поэтому, если пользователь пытается отредактировать пользователя, я хочу иметь возможность сделать что-то вроде следующего с помощью метода класса, если это возможно

if (Class::get_permissions($userID),array($permissionType=>$permission))) {
   // do query
} else {
   // return error message
}

Как было бы хорошо иметь слабо связанную функцию проверки разрешений, которая сможет сделать что-то подобное? Он не должен быть выложен точно так, а просто слабо связан, чтобы его можно было повторно использовать и не быть привязанным к определенной задаче. Но я хочу иметь возможность иметь массив разрешений, а не просто «admin», «user» и т. Д. Для повторного использования, и поэтому это не ограничивает мои возможности в будущем. Потому что у меня есть куча кода, который сейчас находится в верхней части моих файлов скриптов php.

if (Class::get_permissions($userID) == "admin") {
   // allow query
} else {
   // return error
}

Спасибо за любой вклад, который поможет мне довести это до того, что я не продолжаю писать одни и те же вещи снова и снова.

5
задан hakre 12 October 2012 в 09:23
поделиться