Bug #62303 [Fbk->Opn]: ReflectionClass, getMethods(), getName() empty
| From: | v at roxori dot com | Date: | Thu, 26 Jul 2012 06:33:08 +0000 |
| Subject: | Bug #62303 [Fbk->Opn]: ReflectionClass, getMethods(), getName() empty | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-172249@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=62303&edit=1
ID: 62303
User updated by: v at roxori dot com
Reported by: v at roxori dot com
Summary: ReflectionClass, getMethods(), getName() empty
-Status: Feedback
+Status: Open
Type: Bug
Package: Reflection related
Operating System: FreeBSD9
PHP Version: 5.4.3
Block user comment: N
Private report: N
New Comment:
Another remarked that in cgi mode, it happens.
#php info.php
ReflectionMethod Object
(
[name] => first
[class] => Foo
)
ReflectionMethod Object
(
[name] => second
[class] => Foo
)
#php-cgi info.php
X-Powered-By: PHP/5.4.3
Content-type: text / html
ReflectionMethod Object
(
[namei ⤠â
] => First
[class] => Foo
)
ReflectionMethod Object
(
[namei ⤠â
] => Second
[class] => Foo
)
---------------------
apc.so
bz2.so
core.so
ctype.so
curl.so
date.so
dom.so
ereg.so
filter.so
gd.so
hash.so
iconv.so
json.so
libxml.so
mbstring.so
mcrypt.so
mhash.so
mysql.so
mysqli.so
mysqlnd.so
openssl.so
pcre.so
pdo.so
pdo_mysql.so
pdo_sqlite.so
phar.so
posix.so
reflection.so
session.so
simplexml.so
soap.so
sockets.so
spl.so
sqlite.so
sqlite3.so
standard.so
tokenizer.so
xml.so
xmlreader.so
xmlrpc.so
xmlwriter.so
zip.so
zlib.so
Previous Comments:
------------------------------------------------------------------------
[2012-07-26 01:38:23] aharvey@php.net
I also can't reproduce this. What extensions do you have loaded into PHP?
------------------------------------------------------------------------
[2012-07-25 12:29:00] fa@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 root@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] nikic@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