Ver Mensaje Individual
  #15 (permalink)  
Antiguo 27/11/2013, 05:11
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 8 meses
Puntos: 270
Respuesta: ¿Cómo construir un front-end correctamente?

Te doy mi opinión , aunque me voy a salir de MVC. Lo primero, es que una petición GET y una petición POST son cosas absolutamente distintas, cuando se usan de la forma "estandar".Una petición GET significa obtener datos del servidor. Una petición POST significa enviar datos al servidor.Eso ya te divide en 2 partes la gestión de las peticiones.

Para mí, POST significa crear un objeto "Action", que se encarga de recoger los parámetros enviados, filtrarlos, validarlos, y ejecutar la acción en el modelo, y recoger las excepciones (errores) que se hayan producido en todo el proceso. Obviamente, todo esto no lo hace 1 solo objeto, son varias capas las que hacen esto.
Los objetivos de la gestión de una petición POST son, normalmente,validación de campos a nivel sintáctico y semántico (que tengan sentido dentro de la web que estás construyendo).POST, en un alto porcentaje de los casos, se debe preocupar de gestionar 1 cierta instancia de un modelo, que es la que se está editando / ejecutando una acción sobre él.

GET, por otro lado, tiene otros objetivos completamente distintos.Normalmente, velocidad, generación de salida,cacheo...En un porcentaje bastante más alto, las peticiones GET tratan conjuntos de modelos (listados), e incluso cuando tratan a 1 solo (página de "ver"), normalmente requieren de bastantes modelos relacionados con el primero.
Ejemplo: si quieres ver 1 articulo de un foro, no necesitas solo el modelo del articulo, sino el del autor, el del foro donde se publicó, etc,etc.

No es lo mismo procesar una petición GET que una POST.Incluso si usas MVC, no es para nada lo mismo un controlador POST.

Una acción POST puede indicar que, dependiendo del resultado de su ejecución (correcto o no-correcto), debe renderizar también una petición GET (o realizar una redireccion).Pero son 2 procesos completamente distintos.

Te digo lo que yo uso, y como yo lo uso.No es MVC, porque MVC me parece bueno como "iniciación" a POO en PHP, pero no como arquitectura web.

Por cierto, cualquiera que te diga que para no llenar tu HTML de PHP, uses sistemas de plantillas como "Smarty", te está sólo cambiando el problema: ahora vas a tener tu HTML lleno de un pseudolenguaje capado, críptico, y que no aporta nada.