Friday, June 04, 2004

PHP: Usando variables como funciones o metodos

Una propiedad bastante poderosa de PHP es poder utilizar variables para simbolizar cualquier cosa. Veamos algunos ejemplos

1) Nombres de metodos:

Teniendo la siguiente clase:


<?php
class A{
var $nombre = "alejo";
function printNombre(){
printf($this->nombre);
}
}
?>


Que es una clase muy simple. Ahora veamos para que puede servirnos las variables.

Si ejecutamos el siguiente codigo


$variable = 'nombre';
$a = new A();
printf($a->$variable);


El resultado sera 'alejo' puesto que la variable '$variable' contiene el nombre de la variable de instancia del objeto a. Puede resultar un poco extraño al principio pero luego uno se acostumbra. Esta misma propiedad puede utilizarce para llamar funciones (o metodos). Por ejemplo:


$variable = 'printNombre';
$a = new A();
$a->$variable();


Esto produce como salida 'alejo' al igual que el ejemplo anterior. Este tipo de comportamiento es muy agradable para hacer codigo adaptable a situaciones. Por ejemplo, podriamos ejecutar un metodo cuyo nombre fuera ungresado por parametro o por un usuario. Tambien cabe la posiblidad de guardar nombres de variables o metodos en arrelgos asociativos y que estos se ejecuten en ciertas condiciones.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home