Znalazlem tutorial active record na stronce ale mam pytanie bo jednak cos jest nie tak.
Oto kod ktory znalazlem :
class User{ private $firstName; private $lastName; private $email; private $table='users'; public function __construct(){} // set first name public function setFirstName($firstName){ $this->firstName=$firstName; } // set last name public function setLastName($lastName){ $this->lastName=$lastName; } // set email public function setEmail($email){ $this->email=$email; } // fetch row public function fetch($id){ throw new Exception('Error fetching row'); } return $row; } // insert row public function insert(){ if(!mysql_query("INSERT INTO $this->table (firstname,lastname,email) VALUES ($this->firstName,$this->lastName,$this->email)")){ throw new Exception('Error inserting row'); } } // update row public function update($id){ if(!mysql_query("UPDATE $this->table SET firstname='$this->firstName,lastname=$this->lastName,email=$this->email WHERE id='$id'")){ throw new Exception('Error updating row'); } } // delete row public function delete($id){ throw new Exception('Error deleting row'); } } }
No wiec tutaj jak widac pomieszana jest klasa active record (user) z zapytaniami sql, tak mi przynajmniej powiedzial moj kolega programista ze ta klasa dlatego jest do bani, wiec moje pytanie brzmi jak to naprawic ?
Czy wystarczy stworzyc nowa klase ktora w metodach bedzie posiadac tylko i wylacznie zapytania sql a nastepnie zalaczyc te klase do napisanej powyzej za pomoca require i wykorzystac jej funkcje ?
Czy dobrze rozumuje ?