Scaffolding en Yupp PHP Framework
Definición:
Es el mecanismo por el cual definiendo el modelo de la base de datos,
el framework genera automáticamente el código necesario para porder ejecutar
las acciones de CRUD (Create, Retrieve, Update, Delete).
En Yupp PHP Framework, el scaffonding no genera código aún, si no que se
reutiliza el código de la clase YuppController (lo que se llama "Scaffolding
Dinámico"), en donde se implementan todas las acciones necesarias para
poder hacer CRUD, estas acciones son:
list: lista todos los objetos de una clase.
create: crea un objeto de una clase.
edit: edita un objeto.
save: guarda un objeto luego de editado.
show: muestra la información de un objeto.
delete: elimina un objeto, con opción de eleminarlo físicamente o lógicamente
(no desaparece el registro de la base de datos)
Un ciclo normal de ejecución de estas acciones sería:
list => create => create(doit) => show => edit => save => show => delete
Este ciclo crea un objeto, lo edita y lo termina eliminando.
También se generan dinámicamente las vistas necesarias para mostrar la información resultante de la ejecución de las acciones, una que muestra todos los objetos, otra para crear objetos, otra para editar objetos y otra donde se muestra la información de un objeto. Las vistas de scaffolding están en: core/mvc/view/scaffoldedViews
Una de las funcionalidades principales de scaffolding es la generación automática de las tablas en la base de datos. No solo se generan las tablas para almacenar una clase en particular, si no que se generan las tablas necesarias para almacenar relaciones con distintas cardinalidades (1-1, 1-N y N-N), también se generan las tablas necesarias para poder guardar modelos de clases con relaciones de herencia (tanto herencia en una tabla como herencia multi-tabla).
