- var_dump: documentation ( source)
- is_callable: documentation ( source)
<?php
$start = new DateTime('yesterday');
if (is_callable(array($start, '__sleep'))) {
echo "Called: __sleep()".PHP_EOL;
var_dump($start::__sleep());
echo PHP_EOL.PHP_EOL.PHP_EOL;
}
$serialized = array(
'class' => get_class($start),
'state' => (array) $start
);
echo "Serialized Data:".PHP_EOL;
var_dump($serialized);
echo PHP_EOL.PHP_EOL.PHP_EOL;
unset($start);
if (is_callable(array($serialized['class'], '__set_state'))) {
echo "Called: __set_state()".PHP_EOL;
var_dump($serialized['class']::__set_state($serialized['state']));
echo PHP_EOL.PHP_EOL.PHP_EOL;
}
if (is_callable(array($serialized['class'], '__wake'))) {
echo "Called: __wake()".PHP_EOL;
var_dump($serialized['class']::__wake());
echo PHP_EOL.PHP_EOL.PHP_EOL;
}