I've created a dinamic version of grzeniufication code to allow un-, serialize more than one property:
<?php
class Person implements \Serializable {
public $id;
public $name;
public $birthDate;
public $surname;
public function serialize() {
return serialize((array) $this);
}
public function unserialize($serialized): void {
foreach (unserialize($serialized) as $p => $v) {
$this->{$p} = $v;
}
}
}