sfFormDoctrine
o de sfFormPropel
dependiendo del ORM utilizado. Las clases de formulario son similares entre si y permiten guardar fácilmente en la base de datos lo valores enviados por el usuario.sfFormObject
es una nueva clase añadida en Symfony 1.3 para gestionar todas las tareas comunes desfFormDoctrine
ysfFormPropel
. Cada clase hereda desfFormObject
, que ahora se encarga de parte del proceso de guardado del formulario que se acaba de describir.
El proceso de guardado de los formularios
En el ejemplo anterior, Symfony guarda tanto la información deProduct
como la de los nuevos objetos ProductPhoto
sin ningún esfuerzo por parte del programador. El método que hace posible esta magia, sfFormObject::save()
, ejecuta internamente una serie de métodos. Entender este proceso es vital para poder modificarlo en escenarios más avanzados.El proceso de guardado de un formulario consiste en una serie de métodos ejecutados internamente tras invocar el método
sfFormObject::save()
. La mayor parte del trabajo se ejecuta en el método sfFormObject::updateObject()
, que se invoca recursivamente para todos los formularios embebidos.La mayor parte del proceso de guardado tiene lugar en el métodosfFormObject::doSave()
, que se invoca desdesfFormObject::save()
y se ejecuta dentro de una transacción de bases de datos. Si quieres modificar el propio proceso de guardado,sfFormObject::doSave()
es normalmente el mejor sitio para hacerlo.
No hay comentarios:
Publicar un comentario