Hay varias maneras de lograr "des-acoplar" la persistencia de datos osea la base de datos de tus vistas.
Si entiendes el concepto de "MVC" sabras que la forma correcta de tener tu modelo sera "como tu lo desees" puedes utilizar ORM, Active Record, o algo tan simple como tener una variable que tenga todas las operaciones que harias con tu base de datos.
Ejemplos.
Al estilo Zend Framework 1.N
Código PHP:
class MiObjeto extends Zend_Db_Table_Abstract{
protected $_name= 'MITABLADEBASEDEDATOS';
}
Al estilo propiedad de tu objeto
Código PHP:
class DBMysql{
public function conectar(){}
public function obtenerRegistros(){
return mysql_fetch_assoc($blablabla);
}
}
class MiObjeto{
private $db;
public function __construct(){
$this->db = new DBMysql();
}
public function obtener(){
return $this->db->obtenerRegistros();
}
}
Y ya donde lo vayas a usar podrias usarlo asi.
Código PHP:
<?php
$obj = new MIObjeto();
//imprimir registros
$registros = $obj->obtener();
foreach($registros as $registro){
echo $registro['campodelabasededatos'];
}
?>
Por decir algo.. :p