©
本文档使用
php.cn手册 发布
(PHP 5)
ReflectionFunction::__construct — Constructs a ReflectionFunction object
$name
)Constructs a ReflectionFunction object.
name
The name of the function to reflect or a closure.
没有返回值。
A ReflectionException if the name
parameter does not contain a valid function.
版本 | 说明 |
---|---|
5.3.0 | name can now be a closure.
|
Example #1 ReflectionFunction::__construct() example
<?php
function counter1 ()
{
static $c = 0 ;
return ++ $c ;
}
$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 user-defined function 'counter1' declared in Z:\reflectcounter.php lines 7 to 11 ---> Documentation: '' ---> Static variables: array ( 'c' => 0, )===> The user-defined function '{closure}' declared in Z:\reflectcounter.php lines 18 to 23 ---> Documentation: '' ---> Static variables: array ( 'd' => 0, )