Inconsistency with PHP regarding closures and reflection
Open
php5 incompatibility
- Dominant language
- C++
- Stars
- 18.7k
- Forks
- 3.1k
- Avg merge
- 1h 47m
- Merged PRs (30d)
- 2
Description
`new ReflectionFunction($closure)` seems to work as expected. However, in one case I am doing `$reflectionFunction->getParameters()` and then doing `$reflectionParameter->getDefiningFunction()`, which returns a ReflectionMethod instance in PHP (why not ReflectionFunction? no idea) that behaves differently from the original ReflectionFunction.
- `isClosure()` returns false
- `getClosureScopeClass()` returns null
- `getDeclaringClass()` returns something like "Closure$Namespace\Class::method;0000000".
http://3v4l.org/VgIeT
Some of this behaviour seems really quirky in PHP already and I can't imagine it's a high priority fix, but I thought I'd let you know.
Contributor guide
Assessment
This issue has not been assessed yet.