D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
psa
/
admin
/
plib
/
vendor
/
jms
/
serializer
/
src
/
Construction
/
Filename :
UnserializeObjectConstructor.php
back
Copy
<?php declare(strict_types=1); namespace JMS\Serializer\Construction; use Doctrine\Instantiator\Instantiator; use JMS\Serializer\DeserializationContext; use JMS\Serializer\Metadata\ClassMetadata; use JMS\Serializer\Visitor\DeserializationVisitorInterface; final class UnserializeObjectConstructor implements ObjectConstructorInterface { /** @var Instantiator */ private $instantiator; /** * {@inheritdoc} */ public function construct(DeserializationVisitorInterface $visitor, ClassMetadata $metadata, $data, array $type, DeserializationContext $context): ?object { return $this->getInstantiator()->instantiate($metadata->name); } private function getInstantiator(): Instantiator { if (null === $this->instantiator) { $this->instantiator = new Instantiator(); } return $this->instantiator; } }