我为 JMS 序列化配置了一个访问者:
class MyHandler implements SubscribingHandlerInterface
{
public static function getSubscribingMethods()
{
return array(
array(
'direction' => GraphNavigator::DIRECTION_SERIALIZATION,
'format' => 'json',
'type' => 'MyObject',
'method' => 'serializeContextParent',
),
);
}
public function serializeContextParent(JsonSerializationVisitor $visitor, $data, array $type, Context $context)
{
if (in_array('id', $type['params']))
return $data->getId();
// Do default deserialization ???
}
}
我只想在有参数 id 时反序列化 MyObject 的 id(所以声明的类型是 @JMS\Type("MyObject<'id'>")。
效果很好,但是,如果找不到参数,我想继续默认反序列化。
那可能吗 ?
谢谢