Cita: Preguntas
La estructura de las clases tiene que ir firmemente acompada de la estructura de las tablas de mi DB ?
mm .. Pues una capa de abstracción de BD tan sólo te pone a tu disposición métodos que te permiten acceder a tu BD .. conectarte, hacer consultas .. obtener sus resultados .. etc. La estructura de tu "modelo de datos" .. cara a una "capa de abstracción" del tipo común .. no ha de ir ligada ni mucho menos al modelo de datos de tu BD (de tus tablas).
Podrías ver algunas de esas classes .. probarlas y sacar tus conclusiones. Creo que estando en un punto que "ya está inventado" el tema .. es bueno sacar lo bueno de una .. y de otra para hacer una própia que te acomode a ti y tal vez otros usuarios que tengan las mismas inquietudes de uso que tu.
Para que veas algunas:
ADOdb (
http://adodb.sourceforge.net/)
ezSQL (
http://justinvincent.com/home/articles.php?articleId=2)
-------------
Ahora .. eso sería la "capa de abastracción de tu BD" .. como veras en los ejemplos se trata de abarcar un grán número de "motores" (RDBMS) de BD diferentes para hacer tu aplicación versatil al punto de que puedas usar una u otra BD con el mismo (o leves cambios) código PHP.
Lo que mencionas de "La estructura de las clases tiene que ir firmemente acompada de la estructura de las tablas de mi DB ?" .... Una vez "diseñado" tu capa de abstracción de BD "genérica" .. ahí dependiendo del modelo de datos de tu aplicación concreta puedes ir creando tus "métodos" y objetos que llamen a datos que tu aplicación gestione .. cosas como "dame datos del cliente bajo tal críterio" en tal formato .. que se basarán en su base en una consulta SQL más o menos compleja que irá directamente relacionada con las tablas que compongan tu BD y relación de estas entre sí ..
Esta "classe" podría ser una extensión para la "padre" (la "capa").
No sé realmente hacia donde va tu enfoque de "clases que se conectan a una DB" .. pero en principo deberías partir por una del estilo que comento.
Un saludo,