|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2007-01-24 19:39 UTC] baldurien at bbnwn dot eu
Description: ------------ The doc (http://fr.php.net/manual/en/language.oop5.reflection.php) state that ReflectioMethod be a ReflectionFunction. class ReflectionFunction implements Reflector { } class ReflectionMethod extends ReflectionFunction { } But this is not how it works in PHP : when using type hinting, any ReflectionMethod passed to a function or method that expect a ReflectionFunction fails instead of working like with normal type hinting. Reproduce code: --------------- class Foo { public function bar(ReflectionFunction $fct) { ... } } $c = new ReflectionClass('Foo'); $foo = new Foo(); $foo->bar($c->getMethod('bar')); Expected result: ---------------- This should work because ReflectionMethod is a sub class of a ReflectionFunction, and type hinting normally allows such thing (or the documentation [http://fr.php.net/manual/en/language.oop5.typehinting.php] should say it clearly...) Actual result: -------------- [E_RECOVERABLE_ERROR] Argument 1 passed to Foo::bar() must be an instance of ReflectionFunction, instance of ReflectionMethod given, called in ... on line ... and defined' in ... PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Nov 19 22:00:02 2025 UTC |
This bug has been fixed in the documentation's XML sources. Since the online and downloadable versions of the documentation need some time to get updated, we would like to ask you to be a bit patient. Thank you for the report, and for helping us make our documentation better. class ReflectionFunction extends ReflectionFunctionAbstract implements Reflector { } class ReflectionMethod extends ReflectionFunctionAbstract implements Reflector { }