La base para el desarrollo ágil consiste en el uso de scaffolding.

Las técnicas de scaffolding en el framework acceden a la base de datos para definir templates utilizables que luego podrán ser modificados para adaptarlos a los requerimientos del sistema.

La estructura básica recursiva de generación puede consultarse en el siguiente enlace: https://github.com/ivancas84/tablas/blob/master/gen/generate/GenerateEntityRecursive.php

Ejemplo de definición de método

A continuación se presenta un ejemplo típico de un método generado automáticamente, donde se define un método dependiente que ejecuta métodos independientes. La ventaja de este tipo de implementación es que evita caer en recursiones infinitas:

Comision.metodo(params, prefix = ''){
  Comision._metodo(params, prefix)
  ‎Division._metodo(params, prefix+"dvi_")
  ‎Sede._metodo(params, prefix+"dvi_sed_")
}

Como se aprecia en el ejemplo, los métodos independientes se identifican con un guion bajo, y se utilizan prefijos para identificar unívocamente las tablas y campos.

En el siguiente ejemplo se presenta una estructura alternativa no recomendada, ya que puede caer en recursiones infinitas:

Comision.metodo(params, prefix = ''){
  Comision._metodo(params, prefix)
  ‎Division.metodo(params, prefix+"dvi_")
}

Division.metodo(params, prefix){
  Division._metodo(params, prefix)
  Sede.metodo(params, prefix+"sed_")
}

Sede.metodo(params, prefix){{
  Sede._metodo(params, prefix);
}