![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /usr/local/src/apcu-5.1.19/tests/ |
--TEST-- APC: apcu_store/fetch with objects --SKIPIF-- <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?> --INI-- apc.enabled=1 apc.enable_cli=1 --FILE-- <?php class foo { } $foo = new foo; var_dump($foo); apcu_store('foo',$foo); unset($foo); $bar = apcu_fetch('foo'); var_dump($bar); $bar->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); apcu_store('baz', $baz); unset($baz); var_dump(apcu_fetch('baz')); ?> ===DONE=== --EXPECTF-- object(foo)#%d (0) { } object(foo)#%d (0) { } object(foo)#%d (1) { ["a"]=> bool(true) } object(baz)#%d (6) { ["pri":"baz":private]=> string(3) "baz" ["pub"]=> string(3) "bar" ["pro":protected]=> string(3) "bar" ["pri":"bar":private]=> string(3) "bar" ["bar"]=> bool(true) ["baz"]=> bool(true) } object(baz)#%d (6) { ["pri":"baz":private]=> string(3) "baz" ["pub"]=> string(3) "bar" ["pro":protected]=> string(3) "bar" ["pri":"bar":private]=> string(3) "mod" ["bar"]=> bool(true) ["baz"]=> bool(true) } object(baz)#%d (6) { ["pri":"baz":private]=> string(3) "baz" ["pub"]=> string(3) "bar" ["pro":protected]=> string(3) "bar" ["pri":"bar":private]=> string(3) "mod" ["bar"]=> bool(true) ["baz"]=> bool(true) } ===DONE===