On 16.10.14 06:39, Levi Morrison wrote: > - The design and accompanying section of reflection[3] has been > rewritten entirely. > > [3]: https://wiki.php.net/rfc/returntypehinting#reflection
I've some comments about the Reflection API addition/changes: 1. > "Note that getReturnType will always return a ReflectionType object, even if there is no return type declared." That feels weird, TBH. Other parts of the Reflection-API don't do that, they simply return false if I would call e.g. getParentClass() when there's none. 2. > "This API was designed so you could use ReflectionType::getKind() in a switch statement to cover all cases, rather than be forced to use an if/else structure that calls isArray(), isCallable, etc like the ReflectionParameter API does." I don't like the deviation from the existing Reflection API. I'm not saying it's perfect, but I fear a "haystack,needle vs. needle,haystack" thing here and would prefer the existing convention for is*() methods. I wouldn't see a conflict it providing both as I see the usefulness. 3. The new class is called "ReflectionType", shouldn't it be "ReflectionReturnType" ? 4. Other reflection classes, e.g. ReflectionParameter provides "missing link" methods, specifically I'm missing: public ReflectionClass getDeclaringClass ( void ); public ReflectionFunctionAbstract getDeclaringFunction ( void ); 5. I think, also like in ReflectionParameter, there should a direct shortcut to the class, if provided (and not just the string name): public ReflectionClass getClass ( void ); thanks, - Markus -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php