<?php
class foo implements Serializable
{
public $dummy = 'bzz';
public function serialize()
{
throw new Exception('test');
}
public function unserialize($data)
{
}
}
$serialized = serialize(new foo);
$unserialized = unserialize($serialized);
var_dump($serialized, $unserialized);
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/cuImR on line 3
Fatal error: Uncaught Exception: test in /in/cuImR:9
Stack trace:
#0 [internal function]: foo->serialize()
#1 /in/cuImR(17): serialize(Object(foo))
#2 {main}
thrown in /in/cuImR on line 9
Process exited with code 255.
Fatal error: Uncaught Exception: test in /in/cuImR:9
Stack trace:
#0 [internal function]: foo->serialize()
#1 /in/cuImR(17): serialize(Object(foo))
#2 {main}
thrown in /in/cuImR on line 9
Process exited with code 255.
Fatal error: Uncaught exception 'Exception' with message 'test' in /in/cuImR:9
Stack trace:
#0 [internal function]: foo->serialize()
#1 /in/cuImR(17): serialize(Object(foo))
#2 {main}
thrown in /in/cuImR on line 9
Process exited with code 255.
Output for 5.3.3 - 5.3.29, 5.4.0 - 5.4.13
Fatal error: Uncaught exception 'Exception' with message 'test' in /in/cuImR:9
Stack trace:
#0 [internal function]: foo->serialize()
#1 /in/cuImR(17): serialize(Object(foo))
#2 {main}
Next exception 'Exception' with message 'foo::serialize() must return a string or NULL' in /in/cuImR:17
Stack trace:
#0 /in/cuImR(0): serialize()
#1 {main}
thrown in /in/cuImR on line 17
Process exited with code 255.
Output for 5.3.0 - 5.3.2
Fatal error: Uncaught exception 'Exception' with message 'test' in /in/cuImR:9
Stack trace:
#0 [internal function]: foo->serialize()
#1 /in/cuImR(17): serialize(Object(foo))
#2 {main}
Next exception 'Exception' with message 'foo::serialize() must return a string or NULL' in /in/cuImR:0
Stack trace:
#0 /in/cuImR(0): serialize()
#1 {main}
thrown in /in/cuImR on line 0
Process exited with code 255.
Output for 5.1.0 - 5.1.2
Fatal error: Uncaught exception 'Exception' with message 'test' in /in/cuImR:9
Stack trace:
#0 [internal function]: foo::serialize()
#1 /in/cuImR(17): serialize(Object(foo))
#2 {main}
thrown in /in/cuImR on line 9
Process exited with code 255.
Output for 5.0.5
Fatal error: Interface 'Serializable' not found in /in/cuImR on line 3
Process exited with code 255.
Output for 5.0.0 - 5.0.4
Fatal error: Class 'Serializable' not found in /in/cuImR 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/cuImR on line 3
Process exited with code 255.