<?php
class D
{
}
class E extends D
{
public $D;
}
class F extends D
{
public $D;
public $E;
}
class A implements Serializable
{
public function serialize ()
{
$serialized = array();
foreach($this as $prop => $val) {
$serialized[$prop] = $val;
}
return serialize($serialized);
//return serialize(get_object_vars($this));
}
function unserialize($serialized)
{
foreach(unserialize($serialized) as $prop => $val) {
$this->$prop = $val;
}
return true;
}
}
class B extends A
{
public $A;
}
class C extends A
{
public $A;
public $B;
}
$oC = new C();
$oC->A = new A();
$oC->B = new B();
$oC->B->A = $oC->A;
$oF = new F();
$oF->D = new D();
$oF->E = new E();
$oF->E->D = $oF->D;
$ser = serialize($oC);
echo $ser, "\n";
$ser = serialize($oF);
echo $ser, "\n";
Deprecated: A implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /in/Xa3vX on line 19
Deprecated: B implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /in/Xa3vX on line 41
Deprecated: C implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /in/Xa3vX on line 46
C:1:"C":71:{a:2:{s:1:"A";C:1:"A":6:{a:0:{}}s:1:"B";C:1:"B":18:{a:1:{s:1:"A";r:3;}}}}
O:1:"F":2:{s:1:"D";O:1:"D":0:{}s:1:"E";O:1:"E":1:{s:1:"D";r:2;}}
Fatal error: Interface 'Serializable' not found in /in/Xa3vX on line 19
Process exited with code 255.
Output for 5.0.0 - 5.0.4
Fatal error: Class 'Serializable' not found in /in/Xa3vX on line 19
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/Xa3vX on line 10
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/Xa3vX on line 10
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/Xa3vX on line 10
Process exited with code 255.