domingo, 16 de diciembre de 2007

Reflection Class

Desde PHP 5 se cuenta con un conjunto de clases e interfaces que nos permiten obtener información sobre las clases, funciones, métodos, atributos y objetos. Este conjunto nos permite, por ejemplo, saber cuantos parámetros recibe una función, y cuantos son requeridos... Un ejemplo de cómo usar esto.

/**
* Esta funcion repite
*
* @param string $texto
* @param integer $veces
*/
function repeat($texto, $veces = 2) {
return str_repeat($texto, $veces);
}
$reflection = new ReflectionFunction('repeat');
echo 'Definida por el usuario: ' , $reflection->isUserDefined() , "\r\n";
echo 'Documentacion: ' , $reflection->getDocComment() , "\r\n";
echo 'Cantidad de Parametros: ' , $reflection->getNumberOfParameters() , "\r\n";
foreach ($reflection->getParameters() as $parametro)
{
echo 'Parametro "' , $parametro->getName() , '" ' , ($parametro->isOptional() ? '' : 'no ') , 'es opcional' , "\n";
echo 'Por default: ' , ($parametro->isDefaultValueAvailable() ? $parametro->getDefaultValue() : 'no tiene') , "\n";
}
?>

1 comentario:

Anler Hernández Peral dijo...

buena explicacion ;)