Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

PHP OO Duda Logica sobre recibir el metodo POST

Estas en el tema de Duda Logica sobre recibir el metodo POST en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos, ire derechito al grano, resulta que ahora por flexibilidad estoy recibiendo el metodo $_POST de la siguiente manera, ejem @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 01/09/2011, 09:40
 
Fecha de Ingreso: junio-2011
Mensajes: 26
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Duda Logica sobre recibir el metodo POST

Hola a todos, ire derechito al grano, resulta que ahora por flexibilidad estoy recibiendo el metodo $_POST de la siguiente manera, ejem

Código PHP:
Ver original
  1. // en alguna parte de mi controlador
  2.  
  3.     $accion = new ClassEjemplo;
  4.    
  5.     if($_POST('send_form')){
  6.         $accion->postProcess(); //aqui no envio nada como parametro
  7.     }
  8.    
  9.     if($_POST('delete_item')){
  10.         $accion->deleteItem(); //aqui tampoco envio nada como parametro :P
  11.     }
  12.  
  13.  
  14.  
  15.  
  16. /* y la clase en la que recibo los parametros en el modelo */
  17.  
  18.  
  19.     class ClassEjemplo{
  20.         //no recibo ningun parametro, los detecto automaticamente
  21.         public function postProcess(){
  22.             mysql_query("INSERT INTO `tabla_demo` SET `name`='".mysql_real_escape_string($_POST['name'])."', `otro_dato`='".mysql_real_escape_string($_POST['otro_dato'])."'");
  23.         }
  24.  
  25.         //no recibo ningun parametro, los detecto automaticamente
  26.         public function deleteItem(){
  27.             mysql_query("DELETE FROM `tabla_demo` WHERE `id_product`=".intval($_POST['id_product']));
  28.         }
  29.     }

Si ven el codigo, no envio ni recibo ningun parametro en los metodos, los capturo directamente dentro de ellos y no tengo ningun problema alguno, pero esta era mi duda:

Es lo mismo que recibir los parametros por el metodo?, yo lo veo mas flexible
No habra problemas en futuras versiones de php?

Saludos

PD: He visto algunos Cores de cms, frameworks que trabajan de una forma similar
  #2 (permalink)  
Antiguo 01/09/2011, 10:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Duda Logica sobre recibir el metodo POST

Pues no creo que exista algún cambio futuro sobre $_POST, pero si lo hubiera te tocará modificar tu clase, y si lo haces por parámetro, pues solo tendrías que modificar donde haces la llamada
  #3 (permalink)  
Antiguo 01/09/2011, 10:39
Avatar de Physlet  
Fecha de Ingreso: octubre-2010
Ubicación: Panamá
Mensajes: 48
Antigüedad: 14 años, 1 mes
Puntos: 9
Respuesta: Duda Logica sobre recibir el metodo POST

Para tu comodidad, lo ideal es que lo pases mejor por los parámetros de los métodos y que no escribas códigos tan dependientes de las variables globales para permitir su reutilización sin muchos problemas.
  #4 (permalink)  
Antiguo 01/09/2011, 13:57
 
Fecha de Ingreso: junio-2011
Mensajes: 26
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Duda Logica sobre recibir el metodo POST

Gracias por sus respuestas,
Estoy deacuerdo contigo Physlet, asi que ahora solo usare esta metodologia para crear mi propio CRUD como lo vengo haciendo desde hace poco y asi tambien lo suelen hacer los cms grandes

gracias a los dos

Saludos
  #5 (permalink)  
Antiguo 01/09/2011, 17:52
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Duda Logica sobre recibir el metodo POST

y otra que le agrega legibilidad/documentación
al ver
$usuario->insertar();
mejor ver
$usuario->insertar($nombre, $email);

o en un diagrama un método sin parámetros que en realidad funciona con datos del exterior no dice nada je

Etiquetas: clase, logica, metodo, php, post, recibir, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:17.