Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: danny920825 en 30 Junio 2017, 13:29 pm



Título: [Resuelto] Como mandar a PHP a crear variables con nombres personalizados
Publicado por: danny920825 en 30 Junio 2017, 13:29 pm
Hola Gente. Mi duda es la siguiente:
Tengo una clase que recibe parametros enviados por post, pero yo quiero que por cada $key del array, me genere una variable con su nombre y que el $value sea el valor de la variable. ¿Es posible hacer esto?
O sea, yo tengo:
Código
  1. array (size=6)
  2.  'identificador' => string 'Habitacion_002' (length=14)
  3.  'size' => string 'mediana' (length=7)
  4.  'precio' => string '30' (length=2)
  5.  'estado' => string 'Lista' (length=5)
  6.  'descripcion' => string 'Segunda Habitacion. Mediana con cama matrimonial' (length=48)
  7.  
Y quiero que el me cree variables automaticas con el nombre:
Código
  1. $identificador;
  2. $size;
  3. $precio;
  4. $estado;
  5. $descripcion;
  6.  
No se si me hago explicar. Es para poder mandar a esas variables a validar bajo diferentes criterios con una clase de validacion que estoy creando. Ayuda por favor


Título: Re: [Ayuda] Como mandar a PHP a crear variables con nombres personalizados
Publicado por: engel lex en 30 Junio 2017, 13:34 pm
no se para que se quisiera hacer eso teniendo un array con dichos valores pero hay algo (que considero muy mala practica) que es la funcion extract (http://php.net/manual/es/function.extract.php) que haces justo lo que pides


Título: Re: [Ayuda] Como mandar a PHP a crear variables con nombres personalizados
Publicado por: ivancea96 en 30 Junio 2017, 13:35 pm
Puedes poner:
Código
  1. $nombre = 'size';
  2. $$nombre = 'mediana';
  3. $$nombre == $size;

Nunca lo usé, así que te remito a la referencia: http://php.net/manual/es/language.variables.variable.php (http://php.net/manual/es/language.variables.variable.php)

Edito: tras el mensaje de engel lex, cabe añadir, que si bien PHP es interpretado y esto se puede hacer, yo lo evitaría a toda costa. Las variables deben ser fácilmente localizables en el código. Algo así podría llevar a errores más complicados de depurr o a código menos legible.


Título: Re: [Ayuda] Como mandar a PHP a crear variables con nombres personalizados
Publicado por: engel lex en 30 Junio 2017, 13:40 pm
Algo así podría llevar a errores más complicados de depurr o a código menos legible.

y a un mega hueco de seguridad


Título: Re: [Ayuda] Como mandar a PHP a crear variables con nombres personalizados
Publicado por: danny920825 en 30 Junio 2017, 13:47 pm
OK, entonces buscaré otra manera de pasar los datos y validarlos de forma generica. Vere si puedo hacerlo mediante Reflexion Class leyendo los comentarios de cada variable. Gracias por su pronta respuesta como siempre. Ahora mismo marco el tema como resuelto