Edit report at https://bugs.php.net/bug.php?id=62303&edit=1

 ID:                 62303
 Updated by:         f...@php.net
 Reported by:        v at roxori dot com
 Summary:            ReflectionClass, getMethods(), getName() empty
 Status:             Open
 Type:               Bug
 Package:            Reflection related
 Operating System:   FreeBSD9
 PHP Version:        5.4.3
 Block user comment: N
 Private report:     N

 New Comment:

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


Previous Comments:
------------------------------------------------------------------------
[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

Reply via email to