Хорошо, я просто пытаюсь стать лучше в создании более слабосвязанных классов и т. Д. В PHP, чтобы улучшить свои навыки.У меня есть локальная тестовая база данных на моем компьютере, и для пользовательской таблицы у меня есть столбец с именем «роль».Я пытаюсь создать функцию, которая является общей функцией для получения разрешений для пользователя, поэтому она не зависит от конкретной задачи, которую он пытается выполнить.
Когда пользователь пытается сделать что-то, например, создатьновая тема на форуме и т. д., я хочу запросить базу данных, и, если «роль» - это определенное значение, сохранить разрешения в многомерном массиве, как показано ниже:
$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
}
Спасибо за любой вклад, который поможет мне добраться до того места, где я не пишу то же самоевещи снова и снова.