[PHP-DOC] #17537 [Ver->Csd]: get_class_vars works unexpected From: philip <email protected>
Date: 11/15/02

 ID: 17537
 Updated by: philip <email protected>
 Reported By: mrbrush <email protected>
-Status: Verified
+Status: Closed
 Bug Type: Documentation problem
 Operating System: Linux 2.4.
 PHP Version: 4.2.1
 New Comment:

This is now documented. The change can be seen in here:

http://cvs.php.net/cvs.php/phpdoc/en/reference/classobj/functions/get-class-vars.xml

As of PHP 4.2.0, all are shown.

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

[2002-05-31 02:45:57] derick <email protected>

Reclassify as doc problem

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

[2002-05-30 21:08:01] mrbrush <email protected>

The documentation says that the get_class_vars() method should return
an array only with the properties wich had DEFAULT values already at
class definition. That worked fine with PHP 4.1.2 but it's behavior
changed with PHP 4.2.[0 or 1] because it displays also those properties
which has no default values at definition. I don't really think that
this is a bug, but it seems that there was a change in the function
behavior and neither the changelog nor the documentation mentions a
word about this change.

Example - the following script from the docs:

<?php

class myclass {

    var $var1; // this has no default value...
    var $var2 = "xyz";
    var $var3 = 100;
    
    // constructor
    function myclass() {
        return(true);
    }

}

$my_class = new myclass();

$class_vars = get_class_vars(get_class($my_class));
echo "<pre>";
foreach ($class_vars as $name => $value) {
    echo "$name : $value\n";
}
echo "</pre>";

?>

should outuput something like this:
var2 : xyz
var3 : 100

but the result in PHP 4.2.1 is:
var1 :
var2 : xyz
var3 : 100

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

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

-- PHP Documentation Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php