Edit report at https://bugs.php.net/bug.php?id=62303&edit=1
ID: 62303 Updated by: ahar...@php.net Reported by: v at roxori dot com Summary: ReflectionClass, getMethods(), getName() empty -Status: Open +Status: Feedback Type: Bug Package: Reflection related Operating System: FreeBSD9 PHP Version: 5.4.3 Block user comment: N Private report: N New Comment: I also can't reproduce this. What extensions do you have loaded into PHP? Previous Comments: ------------------------------------------------------------------------ [2012-07-25 12:29:00] f...@php.net Cannot reproduce. $ php -v PHP 5.4.4 (cli) (built: Jun 28 2012 15:38:36) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies php testp.php first second FreeBSD host.example.org 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:46:30 UTC 2012 r...@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 ------------------------------------------------------------------------ [2012-06-13 08:06:38] v at roxori dot com Another found that the index broken array, so that probably does not display a value. PHP5.4.3 FreeBSD9 ReflectionMethod Object ( [nameiÂÒ] => first [class] => Foo ) ReflectionMethod Object ( [nameiÂÒ] => second [class] => Foo ) PHP5.4.3 Linux ReflectionMethod Object ( [name] => first [class] => Foo ) ReflectionMethod Object ( [name] => second [class] => Foo ) ------------------------------------------------------------------------ [2012-06-12 22:51:40] ni...@php.net I can't reproduce this: http://3v4l.org/6cvK8#v500 Seems to behave the same on all versions, with no change in between. Maybe this is OS specific (or specific to something else in your env). ------------------------------------------------------------------------ [2012-06-12 21:01:45] v at roxori dot com Description: ------------ After upgrading PHP to 5.4.3 no longer return the name of the method. Correspondingly, the library stopped working, namely Zend. Now the issue Fatal error: Uncaught exception 'Zend_Amf_Server_Exception' with message 'Duplicate method registered: Having sorted out, I realized that the code does not return the name of the method. In PHP 5.3 all was ok. --- >From manual page: http://www.php.net/reflectionclass.getname#refsect1- reflectionclass.getname-description --- Test script: --------------- class Foo { function first(){ } function second(){ } } $foo = new Foo(); $reflect = new ReflectionClass($foo); $props = $reflect->getMethods(); foreach ($props as $prop) { print $prop->getName() . "\n"; } Expected result: ---------------- first second Actual result: -------------- (empty) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=62303&edit=1