Witam,
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){
if(!$row=mysql_query("SELECT * FROM $this->table WHERE id='$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){
if(!mysql_query("DELETE FROM $this->table WHERE id='$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 ?
Ten post edytował Wolfie 12.08.2009, 12:59:38