# ReflectionFunction::__construct

(PHP 5, PHP 7, PHP 8)

ReflectionFunction::__construct — Contruye 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

- ReflectionMethod::__construct() - Construye un objeto ReflectionMethod
- Constructores