ReflectionFunction::__construct()
(PHP 5, PHP 7)
Constructs a ReflectionFunction object
说明
public ReflectionFunction::__construct(mixed $name)
Constructs aReflectionFunctionobject.
参数
- $name
The name of the function to reflect or aclosure.
返回值
没有返回值。
错误/异常
AReflectionExceptionif the$nameparameter does not contain a valid function.
更新日志
版本 | 说明 |
---|---|
5.3.0 | $namecan now be aclosure. |
范例
Example #1ReflectionFunction::__construct()example
<?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 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, )
参见
- ReflectionMethod::__construct() ReflectionMethod 的构造函数
- Constructors