Попытка использовать компонент сериализатора в Symfony 3.3. Я борюсь с сущностями, имеющими членов DateTime.
Инициализация моего сериализатора config.yml:
serializer:
enable_annotations: true
Добавил это в service.yml:
datetime_method_normalizer:
class: Symfony\Component\Serializer\Normalizer\DateTimeNormalizer
public: false
tags: [serializer.normalizer]
Десериализованный код выглядит так:
$yml = [...] // It was created by serializer->serialize()
$serializer = $this->get('serializer');
$myObject = $serializer->deserialize($yml, MyObject::class, "yaml");
Получается ошибка: Expected argument of type "DateTime", "string" given
в vendor/symfony/symfony/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php (строка 204)
Я думаю, что DateTimeNormalizer::denormalize никогда не вызывается. Есть идеи, как вернуть его к жизни?
Информация: вызывается DateTimeNormalizer::__constructor().