więc Widziałem ususally model jest przedstawienie tabeli w bazie danych jak dla tabeli użytkowników idzie coś takiego:Korzystanie pojedynczy model CRUD dla wszystkich kontrolerów zamiast odrębnych modeli dla każdego kontrolera
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 ");
}
}
ale to proccess jest dość powolny i co większość modeli zrobić, to podstawowe operacje CRUD ... więc używać jednego modelu CRUD dla prawie wszystkich moich kontrolerów takich jak:
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'] ");
}
}
zarzutów pamiętać, że jest to bardzo uproszczona wersja mój model i zasadniczo nic takiego jak oryginalny kod (im przy użyciu aktywnego rekordu w oryginalnym kodzie i może obsługiwać złożone scenariusze), więc ignoruj składnię i błędy techniczne
, więc chcę wiedzieć, czy jest jakiś problem z tym podejściem? czy czegoś brakuje?
co jest punkt o wiele modeli, kiedy można dostać się z jednego modelu CRUD .... to po prostu wydaje się Wast czasu
Pomimo faktu, że powinieneś używać przygotowanych instrukcji w celu uzyskania korzyści bezpieczeństwa, nie ma nic złego w tym kodzie. –
@HenriqueBarcelos faktycznie im przy użyciu aktywnego rekordu dla kwerendy, po prostu chciałem zachować kod tak proste, jak to możliwe – max
Zamiast korzystania z jednej klasy, można dziedziczyć wspólną klasę bazową, aby zapisać 'zapisz' i' usunąć' metody tylko raz. – user3409662