0
Symfony 2.8을 JMS Serializer와 함께 사용하고 deserializer 메소드를 사용할 때 엔티티 클래스의 생성자가 호출되지 않습니다. 내 코드를 참조하십시오Jms Serializer가 생성자를 호출하지 않습니다
내 service.yml
jms_serializer.unserialize_object_constructor:
class: AppBundle\Serializer\ObjectConstructor
내 ObjectConstructor
<?php
namespace AppBundle\Serializer;
use JMS\Serializer\VisitorInterface;
use JMS\Serializer\Metadata\ClassMetadata;
use JMS\Serializer\DeserializationContext;
use JMS\Serializer\Construction\ObjectConstructorInterface;
class ObjectConstructor implements ObjectConstructorInterface
{
/**
* {@inheritdoc}
*/
public function construct(VisitorInterface $visitor, ClassMetadata $metadata, $data, array $type, DeserializationContext $context) {
$className = $metadata->name;
return new $className();
}
}
내 클래스의 생성자 :
public function __construct() {
$this->dateTime = new \DateTime();
}
어떤 생각? 내가라고 ObjectConstructor의 구조 방법이지만 클래스 ObjectConstructor하지 않는 방법의 구조를 추가하는 경우
같은 사용자 정의 생성자 서비스의 별명을 지정해야합니다. –