*/ interface ObjectConstructorInterface { /** * Constructs a new object. * * Implementations could for example create a new object calling "new", use * "unserialize" techniques, reflection, or other means. * * @param mixed $data * @param array $type ["name" => string, "params" => array] */ public function construct(DeserializationVisitorInterface $visitor, ClassMetadata $metadata, $data, array $type, DeserializationContext $context): ?object; }