ID: 30659 Updated by: [EMAIL PROTECTED] Reported By: mx at tut dot by -Status: Feedback +Status: Bogus Bug Type: Class/Object related Operating System: * PHP Version: 5CVS-2004-11-02 (dev) New Comment:
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php get_class_vars($this) returns the name of the derived class B where $one is defined. You access the properties from class A. Since private properties are only visible to the defining class - in this case B - the error is correct. Previous Comments: ------------------------------------------------------------------------ [2004-11-08 02:03:09] aaron at visualprose dot com You can download a script that will reproduce this bug here: http://visualprose.com/inheritance-bug.php.gz . I am experiencing this on Mac OS X 10.3.5 (client and server) under PHP 5.0.2. This bug wasn't occuring under PHP 5.0.0. Let me know if you need more info. <:> Aaron Jensen <:> [EMAIL PROTECTED] ------------------------------------------------------------------------ [2004-11-03 01:01:15] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with <?php and ends with ?>, is max. 10-20 lines long and does not require any external resources such as databases, etc. If possible, make the script source available online and provide an URL to it here. Try avoid embedding huge scripts into the report. One you get correct Acutal/Expected info come back. ------------------------------------------------------------------------ [2004-11-02 12:45:27] mx at tut dot by Description: ------------ behavior of get_class_vars() changed between 13 Sep 2004 and 22 Oct 2004. Is it correct? Reproduce code: --------------- <? class A { private $user; protected $group; public $world; function dump() { print_r(get_object_vars($this)); } } class B extends A { public $zoo; } $a = new B(); print_r(get_class_vars(get_class($a))); print_r(get_object_vars($a)); $a->dump(); ?> Expected result: ---------------- Array ( [zoo] => [group] => [world] => ) Array ( [zoo] => [group] => [world] => ) Array ( [zoo] => [group] => [world] => ) Actual result: -------------- Array ( [zoo] => [world] => ) Array ( [zoo] => [world] => ) Array ( [zoo] => [group] => [world] => ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=30659&edit=1