(PHP 5, PHP 7)
Constructs a ReflectionFunction object
public ReflectionFunction::__construct ( mixed $name )
Constructs a ReflectionFunction object.
Parameters:
name
The name of the function to reflect or a closure.
Returns:
No value is returned.
Exception:
A ReflectionException if the name
parameter does not contain a valid function.
Changelog:
5.3.0
name
closure
Examples:
ReflectionFunction::__construct() example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | <?php /** * A simple counter * * @return int */ function counter1() { static $c = 0; return ++ $c ; } /** * Another simple counter * * @return int */ $counter2 = function () { static $d = 0; return ++ $d ; }; function dumpReflectionFunction( $func ) { // Print out basic information printf( "\n\n===> The %s function '%s'\n" . " declared in %s\n" . " lines %d to %d\n" , $func ->isInternal() ? 'internal' : 'user-defined' , $func ->getName(), $func ->getFileName(), $func ->getStartLine(), $func ->getEndline() ); // Print documentation comment printf( "---> Documentation:\n %s\n" , var_export( $func ->getDocComment(), 1)); // Print static variables if existant if ( $statics = $func ->getStaticVariables()) { printf( "---> Static variables: %s\n" , var_export( $statics , 1)); } } // Create an instance of the ReflectionFunction class dumpReflectionFunction( new ReflectionFunction( 'counter1' )); dumpReflectionFunction( new ReflectionFunction( $counter2 )); ?> |
The above example will output something similar to:
===> The user-defined function 'counter1' declared in Z:\reflectcounter.php lines 7 to 11 ---> Documentation: '/** * A simple counter * * @return int */' ---> Static variables: array ( 'c' => 0, ) ===> The user-defined function '{closure}' declared in Z:\reflectcounter.php lines 18 to 23 ---> Documentation: '/** * Another simple counter * * @return int */' ---> Static variables: array ( 'd' => 0, )
See also:
Please login to continue.