Date una vuelta por este patrón
http://martinfowler.com/eaaCatalog/dataMapper.html
Y por el principio de liskov
http://codelog.climens.net/2009/06/0...-de-oop-solid/
En general el principio de liskov establece que el objeto que hereda debe de poder suplir al objeto padre en cualquier circunstancia por que son del mismo tipo.
Un buen ejemplo de herencia.
Aqui la herencia si tiene sentido por que Mysql "es una" Db luego usas Mysql o cualquier DB en tu objeto.
Código PHP:
class Mysql extends Db{
}
class MiObjetoQueGuardaEnUnaDB{
private $_db;
public function setDb(Db $db){
$this->_db = $db;
}
public function insert(){
$this->_db->insert();
}
}
¿Como lo usarias?
Código PHP:
$persistencia = new Mysql();
$miObjeto = new ObjetoQueGuardaEnDb();
$miObjeto->setDb($persistencia);
$miObjeto->insert();