I chodzi mi żeby to zrobić tak że przy tworzeniu obiektu podawać user_id, identyfikator kategorii oraz nazwę metody jaka ma być wykonywana np.
new Eps(12, 'A', $this->update_point());
tylko wiem że tak się nie da. Wiec proszę o wskazówki jak powinna być napisana taka klasa bo wiem że da się to napisać prościej. Proszę o wskazówki ogarniętych ludzi w OOP.
Kod.
abstract class Eps_Cat_Point { // Dane beda pochodzic z bazy // Litera to identyfikator kategorii za co dostaje sie pkt np A za artykul 3 pkt. } class Eps extends Eps_Cat_Point { public $user_id; public $cat_point; public $query; public function __construct($user_id, $cat_point) { if($this->setUser_id($user_id) && $this->setCat_Point($cat_point)){ $this->user_id = $user_id; $this->cat_point = $cat_point; } } public function update_point(){ $this->query = "UPDATE tabela SET user_point=user_point+'".$this->eps_cat_point[$this->cat_point]."' WHERE user_id='".$this->user_id."'"; return $this->query; } public function delete_point(){ $this->query = "UPDATE tabela SET user_point=user_point-'".$this->eps_cat_point[$this->cat_point]."' WHERE user_id='".$this->user_id."'"; return $this->query; } public function setUser_id($user_id) { return false; } else { return true; } } public function setCat_Point($cat_point) { return false; } else { return true; } } } $eps = new Eps(12, 'A');