- var_dump: documentation ( source)
- unserialize: documentation ( source)
- serialize: documentation ( source)
- get_object_vars: documentation ( source)
<?php
class Widget implements Serializable
{
public $references = array();
public function serialize()
{
$vars = get_object_vars($this);
$serialized = serialize($vars);
return $serialized;
}
public function unserialize($serialized)
{
$array = unserialize($serialized);
foreach($array as $k => $v)
$this->$k = $v;
}
}
class Placeholder
{
public $id;
public function __construct($id)
{
$this->id = $id;
}
}
$placeholder1 = new Placeholder(1);
$placeholder2 = new Placeholder(2);
$widgets = array(new Widget, new Widget, new Widget, new Widget);
$widgets[0]->references[] = $placeholder1;
$widgets[1]->references[] = $placeholder2;
$widgets[2]->references[] = $placeholder1;
$widgets[3]->references[] = $placeholder1;
$serialized = serialize($widgets);
var_dump($serialized);
var_dump(unserialize($serialized));