SunshinePHP Developer Conference 2015

ReflectionFunction::__construct

(PHP 5)

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($statics1));
    }
}

// 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 add a note

User Contributed Notes

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