PhpDbGen es un subproyecto de Tablas que define una estructura en PHP para facilitar el acceso a la base de datos.

Ideas y características principales

Si se realiza una consulta a una entidad E de la base de datos, es muy probable que se consulten a corto plazo las entidades relacionadas R, particularmente las que se desprenden de una clave foránea.

Partiendo de esta idea se genera un conjunto de métodos en los que incluye a todas las relaciones foráneas:

  • E muchos:uno R
  • E uno:uno R

PhpDbGen trabaja con una sola base de datos. Define una clase Dba que permite crear una única instancia de la base de datos para ser utilizada en todas las clases que la requieran.

Dba actualmente soporta dos motores de base de datos MySQL principalmente y PostgreSQL en desarrollo.


Las clases generadas se relacionan entre sí, por sí solas no aportan demasiado. No es recomendable crear nuevas clases que hereden de las generadas ya que habría que modificar varios métodos para poder utilizarlas.


PhpDbGen no recomienda definir subclases, pero facilita la reimplementacion de los métodos, gracias a la definición de una clase de implementación: Por cada clase generada se definen dos clases, una principal donde se ubica el código automático y una clase de implementación vacía que hereda de la principal, y sirve para reimplementar métodos o definir nuevos. No se puede modificar la clase principal ya que sera alterada por cada ejecución de PhpDbGen. La clase de implementación, una vez creada, no será sobrescrita.


Se define una lógica de organización dónde cada capa del modelo se organiza para responder a los requerimientos de un determinado rol.


La estructura planteada está ideada para poder aplicar restricciones en una entidad y que se extienda fácilmente a toda la app. Se define una estructura de metodos independientes relacionados.

Información Adicional

Modelo