ID:               32296
 Updated by:       [EMAIL PROTECTED]
 Reported By:      php dot bug at hebbron dot com
-Status:           Assigned
+Status:           Closed
 Bug Type:         Class/Object related
 Operating System: *
 PHP Version:      5.*
 Assigned To:      andi
 New Comment:

Fixed in CVS HEAD and PHP_5_0.
Now get_class_methods() shows accessible private and protected methods
if it is called from class scope.



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

Reply via email to