--TEST-- APC: apc_store/fetch with objects --SKIPIF-- --INI-- apc.enabled=1 apc.enable_cli=1 apc.file_update_protection=0 --FILE-- a = true; var_dump($bar); class bar extends foo { public $pub = 'bar'; protected $pro = 'bar'; private $pri = 'bar'; // we don't see this, we'd need php 5.1 new serialization function __construct() { $this->bar = true; } function change() { $this->pri = 'mod'; } } class baz extends bar { private $pri = 'baz'; function __construct() { parent::__construct(); $this->baz = true; } } $baz = new baz; var_dump($baz); $baz->change(); var_dump($baz); apc_store('baz', $baz); unset($baz); var_dump(apc_fetch('baz')); ?> ===DONE=== --EXPECTF-- object(foo)#%d (0) { } object(foo)#%d (0) { } object(foo)#%d (1) { ["a"]=> bool(true) } object(baz)#%d (6) { ["pri:private"]=> string(3) "baz" ["pub"]=> string(3) "bar" ["pro:protected"]=> string(3) "bar" ["pri:private"]=> string(3) "bar" ["bar"]=> bool(true) ["baz"]=> bool(true) } object(baz)#%d (6) { ["pri:private"]=> string(3) "baz" ["pub"]=> string(3) "bar" ["pro:protected"]=> string(3) "bar" ["pri:private"]=> string(3) "mod" ["bar"]=> bool(true) ["baz"]=> bool(true) } object(baz)#%d (6) { ["pri:private"]=> string(3) "baz" ["pub"]=> string(3) "bar" ["pro:protected"]=> string(3) "bar" ["pri:private"]=> string(3) "mod" ["bar"]=> bool(true) ["baz"]=> bool(true) } ===DONE===