<?php
class Foo implements Serializable
{
private $var1;
public function __construct() {
$this->var1 = array('ROLE_DEVELOPER');
}
public function serialize() {
return serialize(array($this->var1));
}
public function unserialize($serialized) {
list($this->var1) = unserialize($serialized);
}
}
class Bar extends Foo
{
private $var2;
public function __construct()
{
parent::__construct();
$this->var2 = new \stdClass();
}
public function serialize() {
return serialize(array($this->var2, parent::serialize()));
}
public function unserialize($serialized) {
list($this->var2, $parentStr) = unserialize($serialized);
parent::unserialize($parentStr);
}
}
$foo = new Foo;
var_dump(unserialize(serialize($foo)));
Deprecated: Foo 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/Dqqon on line 3
Deprecated: Bar 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/Dqqon on line 20
object(Foo)#2 (1) {
["var1":"Foo":private]=>
array(1) {
[0]=>
string(14) "ROLE_DEVELOPER"
}
}
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Dqqon on line 27
object(Foo)#2 (1) {
["var1:private"]=>
array(1) {
[0]=>
string(14) "ROLE_DEVELOPER"
}
}
Output for 5.0.5
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Dqqon on line 27
Fatal error: Interface 'Serializable' not found in /in/Dqqon on line 3
Process exited with code 255.
Output for 5.0.0 - 5.0.4
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Dqqon on line 27
Fatal error: Class 'Serializable' not found in /in/Dqqon on line 3
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting '{' in /in/Dqqon on line 3
Process exited with code 255.