SHENOISZ/Weblitephp

Separação de conceitos das classes

Marlysson opened this issue · 1 comments

A classe user ela não deveria estar responsável por verificar de um outro user está logado e também não efetuar o login de um user.. como nessas assinaturas..

new User()->login('user','password');
new User()->exists('User');
new User()->is_logged('User');

Porque ( só minha opinião 😄 ) um user é alguma entidade registrada no sistema..

Sugestões:

  • Deixar um objeto responsável só pela autenticação;deveria saber se ele está logado..
$user = new User($dados); # Precisaria mudar o nome;

$auth = new Auth();
$auth->login($user) // Pegaria os dados que foi passado como objeto;
  • O próprio objeto user ( usuário do sistema ) saberia como realizar as funções relacionadas à ele;

Depois de logado poderia pegar algum objeto responsável pela sessão de usuário no sistema..tipo:

  • Verificar se ta logado
if ($user->is_logged()){
//faz tal coisa
}else{
//faz outra coisa
}
  • Logout
$user->logout(); // Já alteraria a própria sessão apagando ela..

Ou poderia deixar à cargo de um objeto auth a responsabilidade de alterar um user;

$auth->login($user);
$auth->logout($user);
$auth->exists($user);

Mais ou menos isso kk .. devo ter me enrolado um pouco mas no geral é isso..

vou ver com calma isso ;)