jueves, julio 12, 2007

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:

Alejo dijo...

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!

DarioDario dijo...

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.