ID:               30408
 User updated by:  guth at fiifo dot u-psud dot fr
 Reported By:      guth at fiifo dot u-psud dot fr
-Status:           Feedback
+Status:           Open
 Bug Type:         Class/Object related
 Operating System: *
 PHP Version:      5.0.2
 Assigned To:      helly
 New Comment:

I test the function with different values and it seems to work fine.

Thank you.


Previous Comments:
------------------------------------------------------------------------

[2004-10-16 21:21:12] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.0-win32-latest.zip

%.0.3-dev and 5.1.0-dev aka HEAD should behave in the same way, no
protected, private vars unless called from that scope. Please verify.

------------------------------------------------------------------------

[2004-10-16 17:28:30] guth at fiifo dot u-psud dot fr

I get :

array(0) { } array(0) { } array(0) { }

I think it's the best solution to print only public properties and
methods for this cases.

I saw that get_object_vars($this) prints private/protected properties,
which is the best solution too.

So works fine in 5.1.0-dev..

What will you do for the 5.0.* branch ?

------------------------------------------------------------------------

[2004-10-12 11:16:30] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip

------------------------------------------------------------------------

[2004-10-12 11:03:26] guth at fiifo dot u-psud dot fr

Description:
------------
I got another strange behaviour with classes functions.

get_class_methods(Object $obj) returns private and protected methods.
get_class_vars(string $class) returns private and protected
properties.
However, get_object_vars() doesn't.

This method takes an Object parameter and I think that its behaviour
should be the same as get_class_methods(Object $obj).

This bug is "related" to bug #30381.

Reproduce code:
---------------
<?php
class A {
        
        protected $plip;
        
        private function run() {
                
        }

}

class B extends A {
}

class hariCow extends B {

        private $plop = 'beta';

}

$db = new hariCow;

var_dump(get_class_vars('hariCow'));
var_dump(get_object_vars($db));

var_dump(get_class_methods($db));

echo $db->run();
?>

Expected result:
----------------
array(2) { ["plop"]=>  string(4) "beta" ["plip"]=>  NULL } array(2) {
["plop"] => ... ["plip"] => ... }
array(1) { [0]=>  string(3) "run" } 

Actual result:
--------------
array(2) { ["plop"]=>  string(4) "beta" ["plip"]=>  NULL } array(0) {
}
array(1) { [0]=>  string(3) "run" } 


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=30408&edit=1

Reply via email to