Sto cercando di migliorare il mio codice OOP e penso che la mia classe User stia diventando troppo grassa.
Nel mio programma un utente ha i diritti su "liste". Leggi, scrivi, aggiorna, cancella. Così ho creato una classe utente
class User
{
protected $_id;
protected $_email;
protected $_username;
protected $_hashedPassword;
//...Various setters/getters
public function canRead(List $list){
//Database query verifies if user has READ rights
}
public function canUpdate(List $list){
//Database query verifies if user has UPDATE rights
}
//etc...
}
- I metodi canRead, canUpdate, canWrite, canDelete possono essere spostati in un'altra classe (UserAccessCheck o qualcosa del genere ...)?
- In caso contrario, l'attuale SQL deve essere spostato nell'oggetto List (listCanBeReadByUser ())?