Variable variable ¿?
Una característica que PHP te da son las "variables variables". En realidad es algo que jamás use en algún desarrollo y dudo que algún día lo use, creo que hay muchas formas de hacer las cosas pero utilizar variables variables no es lo más "claro", es más diría que confunde bastante y no es fácil de leer código con variables variables.
Es simple de leer lo siguiente?
$nombre = 'dario';
$variable = 'nombre';
echo $$variable;
Yo diría que no.
Dario Ocles.


2 comentarios:
No es para nada legible, pero es util cuando necesitas ejecutar una funcion dependiendo del valor de una variable. En vez de hacer:
if ($x == "a")
a();
else if ($x == "b")
b();
...
Se puede hacer:
$x();
obviamente hay que usar la funcion "function_Exists" y si se usan prefijos, mejor:
function cmd_a() {}
function cmd_b() {}
function cmd_c() {}
$f = "cmd_" . $x;
$f();
de esta forma evitas que ejecuten alguna funcion que no quieras :)
Saludos!
Querido Alejo obviamente que esto es como la historia del GOTO, hay casos en los que sirve y otros en los que. Soy partidario del no usar GOTO pero para que empezar a discutir de nuevo? xD
No dudo que en muchos casos (como en el que expusistes) sirva y ahorre código pero al no ser legible dificulta bastante la lectura, sobre todo si sos alguien nuevito y si pasan algunos meses y no documentamos bien esa parte creo que nos agarraremos los pelos de la cabeza.
De igual forma creo que se debe usar en el caso indicado, si tenemos 50 funciones y nos toca la situación que mostrastes es mejor hacer un solo $f() que 50 if's.
Como decía en uno de los primeros manuales de C que leí, el GOTO esta allí, pero eso no significa que lo uses!!!
Saludos.
Publicar un comentario en la entrada