Я разрабатываю систему входа для бэкэнд.
Для выполнения определенной задачи будет создано несколько пользовательских уровней/разрешений.
Элемент может иметь 1 или более уровней.
Какая лучшая архитектура для этого?
Я пришел с этим решением:
Таблицы:
Group
- group_id (P)
- group_name
Group_User
- group_id (F)
- user_id
А как связь с ООП?
OOP Design Я придумал:
class User {
private $privateSalt = "Don't Tell Anyone! Q£$£$^$";
public function newAccount($email, $password, $firstName, $lastName) { }
public function login($email = 0, $password = 0) { }
private function _setSession($data) {
$_SESSION['logged_in'] = true;
$_SESSION['member_id'] = $data['member_id'];
$_SESSION['email'] = $data['email'];
$_SESSION['first_name'] = $data['first_name'];
}
public function logout() { }
public function isLoggedIn() { }
}
Нет необходимости объявлять данные пользователя в свойствах ООП, потому что я сохранил их в сеансе? Также, если пользователь обновляет страницу, рекомендуется снова проверить пользователя $_SESSION ['member_id'] на базу данных?