2
SPL: SplObjectStorage with accociatied information
10
public function __construct($test = 42)
16
class MyStorage extends SplObjectStorage
20
public function __construct($bla = 26)
26
$storage = new MyStorage();
28
foreach(array(1=>"foo",2=>42) as $key => $value)
30
$storage->attach(new TestClass($key), $value);
33
var_dump(count($storage));
35
foreach($storage as $object)
37
var_dump($object->test);
42
var_dump(serialize($storage));
43
echo "===UNSERIALIZE===\n";
45
$storage2 = unserialize(serialize($storage));
47
var_dump(count($storage2));
49
foreach($storage2 as $object)
51
var_dump($object->test);
55
$storage->attach(new TestClass(3), new stdClass);
56
$storage->attach(new TestClass(4), new TestClass(5));
57
echo "===UNSERIALIZE2===\n";
58
var_dump(unserialize(serialize($storage)));
61
var_dump($storage->key());
62
var_dump($storage->current());
63
var_dump($storage->getInfo());
64
$storage->setInfo("bar");
65
var_dump($storage->getInfo());
66
echo "===UNSERIALIZE3===\n";
67
var_dump(unserialize(serialize($storage)));
71
var_dump($storage->key());
72
var_dump($storage->current());
73
$storage->attach($storage->current(), "replaced");
74
echo "===UNSERIALIZE4===\n";
75
var_dump(unserialize(serialize($storage)));
84
object(MyStorage)#%d (2) {
87
["storage":"SplObjectStorage":private]=>
92
object(TestClass)#%d (1) {
102
object(TestClass)#%d (1) {
116
object(MyStorage)#%d (2) {
119
["storage":"SplObjectStorage":private]=>
124
object(TestClass)#%d (1) {
134
object(TestClass)#%d (1) {
144
object(MyStorage)#%d (2) {
147
["storage":"SplObjectStorage":private]=>
152
object(TestClass)#%d (1) {
162
object(TestClass)#%d (1) {
172
object(TestClass)#%d (1) {
177
object(stdClass)#%d (0) {
183
object(TestClass)#%d (1) {
188
object(TestClass)#%d (1) {
196
object(TestClass)#%d (1) {
203
object(MyStorage)#%d (2) {
206
["storage":"SplObjectStorage":private]=>
211
object(TestClass)#%d (1) {
221
object(TestClass)#%d (1) {
231
object(TestClass)#%d (1) {
236
object(stdClass)#%d (0) {
242
object(TestClass)#%d (1) {
247
object(TestClass)#%d (1) {
255
object(TestClass)#7 (1) {
260
object(MyStorage)#%d (2) {
263
["storage":"SplObjectStorage":private]=>
268
object(TestClass)#%d (1) {
278
object(TestClass)#%d (1) {
288
object(TestClass)#%d (1) {
298
object(TestClass)#%d (1) {
303
object(TestClass)#%d (1) {