così ho visto ususally un modello è la rappresentazione di una tabella nel database, come per la tabella degli utenti va qualcosa come:Utilizzando un unico modello CRUD per tutti i controller, invece di modelli separati per ogni controller
class user_model {
public $id ;
public $username ;
public $password ;
public $email ;
public function save(){
$db->query(" insert into `users` (username , email , password) values ('$this->username' , '$this->email' , '$this->password') ");
}
public function delete(){
$db->query(" delete from users where id = $this->id ");
}
}
ma questo proccess è piuttosto lento e ciò che la maggior parte dei modelli non è il funzionamento di base CRUD ... quindi io uso un unico modello CRUD per quasi tutti i miei controller come:
class crud_model {
public function save($tbl , $data){
$db->query(" insert into $tbl (".explode(',' , array_keys($data)).") values (".explode(',' , $data).") ");
}
public function delete( $tbl , $data){
$db->query(" delete from $tbl where $data['column'] = $data['val'] ");
}
}
suppliche notare che questa è una versione molto semplificata di il mio modello e fondamentalmente non è niente come il codice originale (im utilizzando record attivo nel codice originale e può gestire scenari complessi) quindi ignorare sintassi ed errori tecnici
quindi voglio sapere se c'è un problema con questo approccio? mi sto perdendo qualcosa ?
che cosa è il punto di avere un sacco di modelli, quando si può ottenere con un unico modello CRUD .... Sembra proprio come eri di tempo
Nonostante il fatto che si debbano utilizzare istruzioni preparate per ottenere un vantaggio in termini di sicurezza, non c'è nulla di sbagliato nel codice. –
@HenriqueBarcelos in realtà sto usando il record attivo per la query, volevo solo mantenere il codice il più semplice possibile – max
Invece di usare una singola classe, potresti ereditare una classe base comune per scrivere 'save' e' delete' metodi solo una volta. – user3409662