Scommetto che questa domanda è già stata fatta ma non riesco a formare il mio pensiero come puoi vedere dal titolo, quindi non ho trovato nulla. Sto lavorando con MVC da un po 'di tempo e sono abbastanza felice di dire che quando le cose funzionano bene sono quasi perfette (ai miei occhi), tuttavia non mi sento mai di fare un buon lavoro in questo particolare compito .
Supponiamo di avere il mio modello per un utente, con tutte le sue proprietà e metodi come
namespace Models;
class User {
private $id;
private $name;
public function __get($name){
return $this->$name;
}
public function setName($name){
$this->name = $name;
return true;
}
public function save(){
// Save user to database
}
public function getById($id){
// fill properties from database with id $id
}
}
Tutto bene, ma poi quando ho bisogno di visualizzare un elenco di utenti per, ad esempio una pagina di ricerca o qualcosa del genere, finisco sempre per fare qualcosa come aggiungere un metodo statico getUsers
o qualcosa che restituisce una matrice di \Models\User
oggetti che semplicemente non mi danno quella sensazione di "buon codice", si spera che tu sappia cosa intendo. Diventa ancora peggio quando ho bisogno di ottenere solo un paio di colonne dal database, quindi il maggior numero di proprietà è vuoto e mi sembra di incasinare.
Voglio chiederti qual è il modo corretto per farlo?