Hace ya un tiempo visualice el video del 2012 sobre "Formularios al limite" de Nacho, pero justo ahora me encuentro con una situación parecida a la que expone en su vídeo. Entonces me pregunto si es una buena práctica la de separar el procesado del form en una clase HandlerFormXXX
que devuelva true
o false
en caso de que sea inválido o no y así el controlador quedaría bastante ligero. Solo que esta charla es del 2012 y solo ahi he visto este concepto de handler como el lo trabaja. Ademas el extiende de una clase AbstractFormHandler
pero eso no esta en el Core de Symfony.
Entonces ¿sería una buena práctica delegar en estos handlers toda la validación del formulario y otras funcionalidades como lanzar eventos dentro del $form->isValid()
y así dejar el controlador más ligero?
Respuestas
Hola @RoberRielo,
De una manera muy personal yo pienso q esto va mas en el gusto y en la forma en que uno se acostumbra a programar. Si bien Symfony es un framework que tienes muchos comandos que hacen más rápida la forma de programar, con dos o tres comandos de consola ya tienes funcionando un CRUD (doctrine:generate:entities y doctrine:generate:crud) y listo.
Yo tuve la misma duda que tu en algún momento y me di cuenta que lo mejor es usar un handler para los formularios, primero porque te vas acostumbrando a organizar mejor una aplicación, y dejas que los controladores se dediquen a hacer lo que tienen que hacer en realidad y no recargarlos con cosas propias de control de formularios.
Ahora, yo recomiendo usar los handles porque te vas a encontrar muy pronto con los famosos servicios restfull y vas a tener que usarlos para no repetir lógica en los controladores de la aplicación y en los de la API.
Saludos,
@miguelplazasr
Hola @miguelplazasr,
Gracias por responder, esa es la idea que yo tenia inicialmente, me gusta esa organizacion que te brindan los handlers, solo que no lo vi como recomendacion en ningun libro.
Pienso que a medida que la aplicacion va creciendo se empieza a introducir muchas lineas de codigo a los metodos de los controladores(lanzar eventos, persistencia en cascada de servicios como los del video, etc).
Solo queria escuchar la opinion de alguien que los hubiese usado para conocer otro punto de vista. Nuevamente gracias.
@RoberRielo
Yo también opino lo mismo que @miguelplazasr.
@javiereguiluz
Saludos
Donde puedo encontrar ejemplos o informacion de este tema.
Gracias.
@dariongg