Один из моих классов, который я сериализую, имеет виртуальную собственность, которую я хотел бы видеть. Я использую конфигурацию yaml.Невозможно сериализовать виртуальные свойства в schmittjoh/serializer
Вот YAML:
Namespace\Model\Keg:
exclusion_policy: ALL
properties:
A list of properties that work
virtual_properties:
getKegImage:
serialized_name: image
Вот класс:
namespace Namespace\Model;
class Keg extends ModelAbstract
{
/** Some properties + accessors **/
/**
* @param bool $asImgTag Whether or not to return the URL in an <img> tag
* @return array
*/
public function getKegImage ($asImgTag = false)
{
return [
'Key' => 'value',
'Key' => 'value',
'Key' => 'value'
];
}
}
Когда я сериализовать модель, я бы ожидать, чтобы увидеть поля изображения в формате JSON с массивом в качестве значения , Вместо этого поле отсутствует. Я пробовал много комбинаций настроек в файле yaml, и я не могу его показать.
Хммм кажется правильным на основе [test fixture] (https://github.com/schmittjoh/serializer/blob/master/tests/JMS/Serializer/Tests/Metadata/Driver/yml/ObjectWithVirtualProperties.yml) Вы были случайно попробуйте запустить тесты, чтобы узнать, проходит ли он? – prodigitalson
Я расскажу, что случилось – danwkennedy
Испытания, относящиеся к этому приспособлению, похоже, прошли - произошли сбои и ошибки, только не в той области, насколько я мог сказать, однако я не мог найти способ убедиться, что метаданные, считываемые сериализатором, поступают из аннотаций yml, xml или doctrine. – danwkennedy