domingo, 26 de octubre de 2008

Metaprogramación en php

En php5 han entrado nuevas posibilidades en lo que a metaprogramación se refiere, revisando el siguiente trozo de código nos encontramos un ejemplo de que construcciones se pueden realizar.

<?php

function saludo(){
return "hello";
}

$cadena = "saludo";
$cadena_funcion = "cadena";
?>

<?= $cadena() ?>

<br/>

<?= $$cadena_funcion() ?>

Primero podemos ver que si guardamos en una cadena el nombre de una función, y luego llamamos a la cadena con una lista de parámetros (en este caso vacía), se invoca dicha función. Esto puede ser bastante útil para elegir que acción ejecutar ante una entrada por parámetro.

En segundo lugar se muestra como utilizar las variables con doble '$', es decir, las variables de variables. Por cada '$' delante del nombre de la variable se hace una evaluación de la variable.

$cadena_funcion contiene la cadena "cadena", si por el contrario se referencia a $$cadena_funcion, se evaluará la variable $cadena.

0 comentarios: