J'ai une classe comme ce qui suit:Quelle est la façon OO de refactoriser ces deux classes très similaires en PHP?
class DreamsImagesStore
{
public $table = 'dreams_images';
public function insertNewDreamImage($dream_id, $pid)
{
try {
$values = array($dream_id, $pid);
$sth = $this->dbh->prepare("INSERT INTO {$this->table}
(dream_id, pid)
VALUES (?, ?)");
if($sth->execute($values)) {
return true;
}
} catch(PDOException $e) {
$this->errorLogger($e);
}
}
...
}
Je vais être la mise en œuvre d'une nouvelle classe appelée InterestsImagesStore dans laquelle les seules différences entre ces classes seront la valeur de $table
, $dream_id
sera $interest_id
et dream_id
dans SQL
sera interest_id
.
Je sais qu'il y a une meilleure façon de le faire, et je vais mettre en place des classes similaires dans le futur qui ont de si petites différences.
Quel est le meilleur moyen de refactoriser mon code pour éviter les doublons et augmenter la maintenabilité?
+1 pour reconnaître quand demander de l'aide * avant * créer un désordre bâclé qui doit être refaçonné par quelqu'un d'autre – Zak
@Zak Merci. J'essaie de coder comme la personne qui vient après moi est un maniaque homicide. Et quand je ne peux pas comprendre pour la plupart de ce que l'on dit des livres sur les patrons, je me suis dit qu'un exemple concret et significatif m'aiderait à en faire le tour. –