文字

ReflectionFunction::__construct

(PHP 5)

ReflectionFunction::__constructConstructs a ReflectionFunction object

说明

public ReflectionFunction::__construct ( mixed $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,
)

参见

  • ReflectionMethod::__construct() - ReflectionMethod 的构造函数
  • Constructors
上一篇: 下一篇: