ReflectionFunction::__construct
(PHP 5, PHP 7)
ReflectionFunction::__construct — Constructs a ReflectionFunction object
Description
public ReflectionFunction::__construct ( mixed $name )
Constructs a ReflectionFunction object.
Parameters
name
The name of the function to reflect or a closure.
Return Values
No value is returned.
Errors/Exceptions
A ReflectionException if the name
parameter does not contain a valid function.
Changelog
Version | Description |
---|---|
5.3.0 | name can now be a closure. |
Examples
Example #1 ReflectionFunction::__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 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
- ReflectionMethod::__construct() - Constructs a ReflectionMethod
- Constructors
← ReflectionFunction
ReflectionFunction::export →
? 1997–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com