Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2014, 09:35
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 12 años, 2 meses
Puntos: 84
¿Una manera inteligente de recoger $_POST?

Tengo un esquema tanto conceptual como en código de lo que debe ser un frontcontroller para que el usuario navegue por la web mediante $_GET.

Ahora tengo una duda y no tengo claro qué opción aplicar, me refiero a recoger $_POST.

Supongamos la siguiente situación:

Un usuario llega al home de la web, y le muestro un formulario que se enviará mediante $_POST.

Las dudas son ¿Dónde envío ese formulario?

¿Directamente a la clase y aprovecho la lectura de $_GET en el index.php para detectar $_POST así por ejemplo?

Código PHP:
Ver original
  1. try{
  2.                         if(filter_input_array(INPUT_GET, $_GET) !== NULL){
  3.                         echo (new \controller\FrontController())->invoke(filter_input(INPUT_GET, $_GET['class']),
  4.                                 filter_input(INPUT_GET, $_GET['method']),
  5.                                 filter_input(INPUT_GET, $_GET['args']));
  6.                         }
  7.                        
  8.                         if(filter_input_array(INPUT_POST, $_POST) !== NULL)
  9.                                 (new controller\BackController())->invoke(filter_input(INPUT_POST, $_POST['class']),
  10.                                 filter_input(INPUT_GET, $_POST['method']));
  11.                        
  12.                     } catch (Exception $ex) {
  13.                         echo $ex;
  14.                     }

Y con esto haría una reconocimiento (isset) de $_POST en la clase y usaría los $_POST[''] que necesitara.

Otro modo es enviando el formulario al documento donde está la clase y con un try-catch haría un reconocimiento (isset) de $_POST e instanciaría la clase con tantos $_POST que necesite como argumentos.

No se me ocurre muchas más variantes, todas van por este estilo.

Recalcar que el frontcontroller que he construido (sin utilizar Reflection en el código) funciona perfectamente.

Un saludo.
__________________
Ayúdame a hacerlo por mi mismo.