Сериализатор JMS десериализуется с абстрактным родительским классом
У меня есть абстрактный родительский класс (сопоставленный супер), у которого есть несколько детей с различными свойствами, которые яЯ хотел бы десериализовать. Я'Я храню данные, используя MongoDB и Doctrine ODM, поэтому у меня также есть поле дискриминатора, которое сообщает доктрине, какой подкласс используется (и также имеет свой собственный "тип" свойство ontop, которое используется в другом месте, чтобы определить, какой класс обрабатывается в данный момент).
При десериализации моей модели я получаю исключение, говорящее мне, что невозможно создать экземпляр абстрактного класса (ofcourse) - теперь яМне интересно, как я могу сказать JMS Deserializer, какой унаследованный класс он должен использовать (вот почему я использую пользовательскийtype
Например, переменная экземпляра - потому что у меня нет доступа к доктринеотображение поля дискриминатора).
Я могу успешно подключиться кpreDeserializeEvent
- так, может быть, можно сделать некоторые переключения / дела там (или с помощью)?
Моя модель вкратце (абстрактный класс):
Один из подклассов
Еще один тест былне делает Модульный класс рефератов и создание собственного статического метода
/**
*
* @Serializer\HandlerCallback("json", direction="deserialization")
* @param JsonDeserializationVisitor $visitor
*/
public static function deserializeToObject(JsonDeserializationVisitor $visitor)
{
// modify visitor somehow to return an instance of the desired inherited module class??
}
есть идеи?