ID:               26010
 User updated by:  rodrigo at intelligencegroup dot com dot br
 Reported By:      rodrigo at intelligencegroup dot com dot br
 Status:           Verified
 Bug Type:         Zend Engine 2 problem
 Operating System: Linux (redhat 9)
 PHP Version:      5CVS-2003-10-28 (dev)
 New Comment:

Ok. But in this case the elements value should not be there too. Right?
Anyway, if is possible to take privates and protected atributes with
get_object_vars, you can't manipulate the values of the object's
elements. I think that everything must be returned, as you can use this
for something like serialize, or use to work with db, do somethings
about polymorphism.

Probably my english is being dificult to understand. :)
Sorry


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

[2003-11-03 15:53:39] [EMAIL PROTECTED]

Correct me if i'm wrong, but isn't the purpose of the PPP elements to
prevent this behavior?  As i see it, this is the clearly an intended
response of attempting to access the variables externally.  Like i
said, i may be wrong...

~ Andrew Heebner

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

[2003-11-01 17:29:32] schlueter at phpbar dot de

This bug also appears when var_dump'ing an object - without using
get_object_vars() with Beta2.
(With print_r() I get the property names where private and public ones
are marked - that's even nicer than just the name.)

Reproduce code:
---------------
<?php
class foo {
    private   $bar1 = 'foobar1';
    protected $bar2 = 'foobar2';
    public    $bar3 = 'foobar3';
}

$foo = new foo();
var_dump($foo);

Expected result:
----------------
object(foo)#2 (3) {
  ["bar1"]=>
  string(6) "foobar1"
  ["bar2"]=>
  string(6) "foobar2"
  ["bar3"]=>
  string(6) "foobar3"
}

Actual result:
--------------
object(foo)#2 (3) {
  [""]=>
  string(6) "foobar1"
  [""]=>
  string(6) "foobar2"
  ["bar3"]=>
  string(6) "foobar3"
}

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

[2003-10-29 13:34:24] [EMAIL PROTECTED]

Verified. Refraining from adding a test case till beta2 roll-up.


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

[2003-10-27 15:27:11] rodrigo at intelligencegroup dot com dot br

Description:
------------
The function get_object_vars() is getting back an array where public
variables is ok, but private variables is being defined  with no key.

Reproduce code:
---------------
<?
class A {
        private $a;
        public $b;

        public function A() {
                $this->a = "value of a";
                $this->b = "value of b";
        }
}
$data = new A();
$objVars = get_object_vars($data);
var_dump($objVars);
?>

Expected result:
----------------
array(2) { ["a"]=>  string(10) "value of a" ["b"]=>  string(10) "value
of b" }

Actual result:
--------------
array(2) { [""]=>  string(10) "value of a" ["b"]=>  string(10) "value
of b" }


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


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

Reply via email to