Adds a new method to ReflectionParameter to allow easy access to a class name in a type hint, avoiding the need to actually load the class and use `getClass()->name`.
This method lets you access the class name of a type hint as a string:
<?php use Bar\Baz; class Foo { public function bar(Qux $qux, $bar, Baz $baz, \Bar\Quz $quz) {} public function waldo(array $wibble, callable $wobble) {} } $class = new ReflectionClass(Foo::class); $method = $class->getMethod("bar"); $params = $method->getParameters(); var_dump($params[0]->getClassName()); // string(3) "Qux" var_dump($params[1]->getClassName()); // NULL var_dump($params[2]->getClassName()); // string(7) "Bar\Baz" var_dump($params[3]->getClassName()); // string(7) "Bar\Quz" $method = $class->getMethod("waldo"); $params = $method->getParameters(); var_dump($params[0]->getClassName()); // NULL var_dump($params[1]->getClassName()); // NULL
This is only targeted at classes, not any other typehint. If scalar type hints come then I'm sure they'll have some new reflection methods. This is just getClass()->name but without the need to load the class.
None, unless somebody has made their own reflection extension and already have a getClassName() method.
PHP 7
None so far