ID: 45765
Updated by: [email protected]
Reported By: RQuadling at GMail dot com
-Status: Assigned
+Status: Open
Bug Type: SPL related
Operating System: Windows XP SP2
-PHP Version: 5.3CVS-2008-08-08 (snap)
+PHP Version: 5.2CVS, 5.3CVS, 6CVS
Assigned To: dmitry
New Comment:
It's also reproducible on 5_2, then not related with last changes.
Previous Comments:
------------------------------------------------------------------------
[2008-08-08 19:54:08] [email protected]
Dmitry, I guess it is due the last changes with constants.
------------------------------------------------------------------------
[2008-08-08 15:18:04] RQuadling at GMail dot com
If I change the default to a string, the output is (and I just noticed
that it is truncated) ...
Object of class [ <user> class foo ] {
@@ C:\tr.php 2-9
- Constants [1] {
Constant [ string BAR ] { foo's bar }
}
- Static properties [0] {
}
- Static methods [0] {
}
- Properties [0] {
}
- Dynamic properties [0] {
}
- Methods [1] {
Method [ <user> public method test ] {
@@ C:\tr.php 5 - 7
- Parameters [1] {
Parameter #0 [ <optional> $s_Text = 'Replaced self::...' ]
}
}
}
}
------------------------------------------------------------------------
[2008-08-08 15:16:21] RQuadling at GMail dot com
Description:
------------
If you have a method with a parameter whose default is a local class
constant, the ReflectionObject throws a Fatal Error.
Reproduce code:
---------------
<?php
class foo {
const BAR = "foo's bar";
function test ($s_Text = self::BAR) {
echo $s_Text, PHP_EOL;
}
}
$o_Foo = new foo();
ReflectionObject::export($o_Foo);
Expected result:
----------------
Object of class [ <user> class foo ] {
@@ C:\tr.php 2-9
- Constants [1] {
Constant [ string BAR ] { foo's bar }
}
- Static properties [0] {
}
- Static methods [0] {
}
- Properties [0] {
}
- Dynamic properties [0] {
}
- Methods [1] {
Method [ <user> public method test ] {
@@ C:\tr.php 5 - 7
- Parameters [1] {
Parameter #0 [ <optional> $s_Text = self::BAR]
}
}
}
}
Actual result:
--------------
Fatal error: Undefined class constant 'self::BAR' in C:\tr.php on line
13
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=45765&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.