<?php
class C {
static function foo($x = null) {}
}
$reflMethod = new ReflectionMethod('C', 'foo');
$reflParam = $reflMethod->getParameters()[0];
//
$serReflMethod = serialize($reflMethod);
// No warning.
$serReflParam = serialize($reflParam);
$unserReflParam = unserialize($serReflParam);
// Fatal error: ReflectionParameter::isOptional(): Internal error: Failed to retrieve the reflection object in /in/U5kcQ on line 13
$unserReflParam->isOptional();
Fatal error: Uncaught Exception: Serialization of 'ReflectionMethod' is not allowed in /in/t1bCc:11
Stack trace:
#0 /in/t1bCc(11): serialize(Object(ReflectionMethod))
#1 {main}
thrown in /in/t1bCc on line 11
Process exited with code 255.
Fatal error: Uncaught Error: Internal error: Failed to retrieve the reflection object in /in/t1bCc:18
Stack trace:
#0 /in/t1bCc(18): ReflectionParameter->isOptional()
#1 {main}
thrown in /in/t1bCc on line 18
Process exited with code 255.
Fatal error: ReflectionParameter::isOptional(): Internal error: Failed to retrieve the reflection object in /in/t1bCc on line 18
Process exited with code 255.