- var_dump: documentation ( source)
- unserialize: documentation ( source)
- serialize: documentation ( source)
<?php
class Test implements Serializable {
public $member, $message;
function __construct($message) {
$this->message = $message;
}
function serialize() {
return serialize(array($this->message, $this->member));
}
function unserialize($serialized) {
list($this->message, $this->member) = unserialize($serialized);
}
}
$constructed = new Test("original");
$constructed->member = $constructed; //References to self (in this example pointless, but technically legal)
var_dump($constructed);
$transported = unserialize(serialize($constructed)); // Segmentation fault.