array_023.phpt   [plain text]


--TEST--
Testing class extending to ArrayObject and serialize
--FILE--
<?php

class Name extends ArrayObject
{
    public $var = 'a';
    protected $bar = 'b';
    private $foo = 'c';
}

$a = new Name();
var_dump($a);
var_dump($a->var);

$a = unserialize(serialize($a));

var_dump($a);
var_dump($a->var);

class Bla extends ArrayObject
{
    public $var = 'aaa';
    protected $bar = 'bbb';
    private $foo = 'ccc';
}

$a = new Bla();
var_dump($a);
var_dump($a->var);

$a = unserialize(serialize($a));

var_dump($a);
var_dump($a->var);

?>
--EXPECT--
object(Name)#1 (4) {
  ["var"]=>
  string(1) "a"
  ["bar":protected]=>
  string(1) "b"
  ["foo":"Name":private]=>
  string(1) "c"
  ["storage":"ArrayObject":private]=>
  array(0) {
  }
}
string(1) "a"
object(Name)#2 (4) {
  ["var"]=>
  string(1) "a"
  ["bar":protected]=>
  string(1) "b"
  ["foo":"Name":private]=>
  string(1) "c"
  ["storage":"ArrayObject":private]=>
  array(0) {
  }
}
string(1) "a"
object(Bla)#1 (4) {
  ["var"]=>
  string(3) "aaa"
  ["bar":protected]=>
  string(3) "bbb"
  ["foo":"Bla":private]=>
  string(3) "ccc"
  ["storage":"ArrayObject":private]=>
  array(0) {
  }
}
string(3) "aaa"
object(Bla)#2 (4) {
  ["var"]=>
  string(3) "aaa"
  ["bar":protected]=>
  string(3) "bbb"
  ["foo":"Bla":private]=>
  string(3) "ccc"
  ["storage":"ArrayObject":private]=>
  array(0) {
  }
}
string(3) "aaa"