Variable variables, como crear variables dinamicas en PHP

Vamos aprender acerca de las Variable variables. Algunas personas me preguntan, ¿por qué escribir sobre esto?. Simple razón. Yo había leído sobre este tema antes, y nunca presté toda mi atención en lo útil que esto podría ser. Eso fue hasta que tuve que tomar un examen de PHP, y vi para mi sorpresa, una pregunta que lee como sigue, ¿Qué es esto, $$var? Realmente no podía recordar el término correcto, pero yo tenía la idea. Después de esta prueba, rápidamente me fui a mi libro de texto, y busqué por todos lados, hasta por fin encontrar, las Variable variables! Nunca más, esta pregunta será un dolor de cabeza para mí. De hecho, he decidido que esta pregunta no sea un dolor para cualquiera de ustedes los lectores. Vamos a echar un vistazo rápido sobre cómo definir estos tipos de variables. Recapitulemos sobre la definición de una variable llamada quantity, con un valor numerico de 5.

<?php $quantity = 5; ?>
Para declarar una ‘Variable variable’, se haría de la siguiente forma:
<?php
     $field = 'quantity';
     $$field = 5;
?>
ó
<?php
     $field = 'quantity';
     ${$field} = 5;
?>
*Nota rápida: En mi opinión, la segunda manera de hacer esto es mi forma preferida de hacerlo. La razón es simple, se ve un poco más organizada, y cuando se trata de buscar el código y mantenerlo, usted es capaz de detectar con más facilidad, las variable variables, de las variables regulares .

Este ejemplo anterior es exactamente lo mismo que nuestro primer ejemplo. ¿Qué dijo? Sí, es la misma cosa. Así que ¿por qué molestarse haciendo que el camino más largo? No, en realidad es una manera corta, permítanme explicar.

En un formulario web normal, cuando se le pide al usuario algunos datos personales, es probable que pida: nombre, apellido, fecha de nacimiento, dirección, ¿qué ciudad y / o estado en que vive?, tal vez incluso su número de teléfono. No podemos olvidar el correo electrónico, como puede ser que desee ponerse en contacto con este usuario en particular de una manera rápida. Vamos a suponer que ya tenemos un formulario, con todos estos campos, y que va a ser procesada por nuestro proceso de PHP, llamado process.php, y normalmente tendría este método usual:

<?php
     $fname = $_POST['fname'];  //Variable nombre
     $lname = $_POST['lname'];  //Variable apellido
     $dob   = $_POST['dob'];    //Variable fecha de nacimiendo
     $add1  = $_POST['add1'];   //Variable direccion
     $add2  = $_POST['add2'];   //Variable direccion 2
     $city  = $_POST['city'];   //Variable ciudad
     $state = $_POST['state'];  //Variable estado
     $phone = $_POST['phone'];  //Variable numero de telefono
     $email = $_POST['email'];  //Variable correo electronico
?>
No estoy diciendo que esta es una mala idea, pero en el caso que tengamos más de 20 campos que necesitamos para procesar? Nos limitaremos a añadir 20 líneas más de código, para lograr nuestro objetivo. Ahora bien, echemos un vistazo a la magia “Variable variables”. El código anterior se podría reducir un poco a nuestra conveniencia. Echemos un vistazo:
<?php
     // Todos los campos a ser procesados
     $fields = array('fname','lname','dob','add1',
                      'add2','city','state','phone','email');
     // Tienes una iteración para crear todos los campos
     foreach($fields as $field)
     {
          ${$field} = $_POST[$field];
     }
?>

Como puede ver, todas estas variables que necesitamos, se crean dentro de un bucle “loop”. Si tuviéramos que agregar unos cuantos campos más a nuestra forma, todo lo que tendría que hacer es añadir los nombres de los campos en nuestro array $fields.

Variable variables puede ser divertido de usar, especialmente cuando se tiene una fecha de entrega por venir. Estas realmente pueden ayudarle a acelerar su codificación con facilidad.

Me gustaría saber qué otras maneras puedes utilizar las “Variable variables” para mejorar su código.

Fuente: www.jotorres.com

Comentarios