tengo una clase como la siguiente:¿Cuál es la manera OO de refactorizar estas dos clases muy similares 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);
}
}
...
}
Voy a ser la implementación de una nueva clase llamada InterestsImagesStore en el que las únicas diferencias entre estas clases será el valor de $table
, $dream_id
será $interest_id
y dream_id
en SQL
será interest_id
.
Sé que hay una mejor manera de hacer esto, y estaré implementando clases similares en el futuro que tengan tan pequeñas diferencias.
¿Cuál es la mejor forma orientada a objetos para refactorizar mi código para evitar la duplicación y aumentar el mantenimiento?
+1 para reconocer cuándo pedir ayuda * antes * crear un desastre descuidado que necesita ser refactorizado por otra persona – Zak
@Zak Gracias. Intento codificar como si la persona que me sigue es un maníaco homicida. Y cuando no puedo entender la mayoría de lo que se dice sobre los libros de patrones, me imaginé que un ejemplo real y significativo me ayudaría a entenderlo. –