ID: 32296
Updated by: [EMAIL PROTECTED]
Reported By: php dot bug at hebbron dot com
-Status: Open
+Status: Assigned
Bug Type: Class/Object related
-Operating System: SuSE Linux 9.1
+Operating System: *
-PHP Version: 5.0.3
+PHP Version: 5.*
-Assigned To:
+Assigned To: andi
Previous Comments:
------------------------------------------------------------------------
[2005-03-14 04:46:49] php dot bug at hebbron dot com
Sorry - the expected output is from php 5.0.2 and the actual output is
from 5.0.3 in case that wasn't clear.
------------------------------------------------------------------------
[2005-03-14 04:45:09] php dot bug at hebbron dot com
Description:
------------
Using the code below, the output from get_class_methods is different
between versions 5.0.2 and 5.0.3. This missing data is breaking some of
our code. Is this change intended - I can't see it mentioend in the
docs.
Reproduce code:
---------------
abstract class space{
function __construct(){}
abstract protected function unfold();
}
abstract class shape extends space{
protected final function unfold(){}
}
abstract class quad extends shape{
function buggy(){
$c = get_class($this);
$a = get_class_methods(get_class($this));
$b = get_class_methods($this);
print($c."\n".'a:');
print_r($a);
print('b:');
print_r($b);
}
}
class square extends quad{}
$a = new square();
$a->buggy();
Expected result:
----------------
square
a:Array
(
[0] => buggy
[1] => unfold
[2] => __construct
)
b:Array
(
[0] => buggy
[1] => unfold
[2] => __construct
)
Actual result:
--------------
square
a:Array
(
[0] => buggy
[1] => __construct
)
b:Array
(
[0] => buggy
[1] => __construct
)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=32296&edit=1