PHP 8.4.2 Released!

ReflectionFunction::__construct

(PHP 5, PHP 7, PHP 8)

ReflectionFunction::__constructContruye un objeto de tipo ReflectionFunction

Descripción

public ReflectionFunction::__construct(mixed $name)

Construye un objeto de tipo ReflectionFunction.

Parámetros

name

Nombre de la función que se desea reflexionar, o una función anónima.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza ReflectionException si el parámetro name no contuviera una función válida.

Historial de cambios

Versión Descripción
5.3.0 ahora name puede representar una función anónima.

Ejemplos

Ejemplo #1 Ejemplo de ReflectionFunction::__construct()

<?php
/**
* Contador sencillo
*
* @return int
*/
function contador1()
{
static
$c = 0;
return ++
$c;
}

/**
* Otro contador sencillo
*
* @return int
*/
$contador2 = function()
{
static
$d = 0;
return ++
$d;

};

function
mostrarFuncionesReflexionadas($func)
{
// Mostrar información básica
printf(
"\n\n===> La función %s '%s'\n".
" declarada en %s\n".
" líneas %d a %d\n",
$func->isInternal() ? 'interna' : 'definida por el usuario',
$func->getName(),
$func->getFileName(),
$func->getStartLine(),
$func->getEndline()
);

// Mostrar comentarios de documentación
printf("---> Documentación:\n %s\n", var_export($func->getDocComment(), 1));

// Mostrar, si existen, variables estáticas
if ($statics = $func->getStaticVariables())
{
printf("---> Variables estáticas: %s\n", var_export($statics, 1));
}
}

// Crear una instancia de la clase ReflectionFunction
mostrarFuncionesReflexionadas(new ReflectionFunction('contador1'));
mostrarFuncionesReflexionadas(new ReflectionFunction($contador2));
?>

El resultado del ejemplo sería algo similar a:

===> La función definida por el usuario 'contador1'
     declarada en /Users/chuso/dropme.php
     líneas 7 a 11
---> Documentación:
 '/**
 * Contador sencillo
 *
 * @return    int
 */'
---> Variables estáticas: array (
  'c' => 0,
)


===> La función definida por el usuario '{closure}'
     declarada en /Users/chuso/dropme.php
     líneas 18 a 23
---> Documentación:
 '/**
 * Otro contador sencillo
 *
 * @return    int
 */'
---> Variables estáticas: array (
  'd' => 0,
)

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top