无法序列化 schmittjoh/serializer 中的虚拟属性
Can't serialize virtual properties in schmittjoh/serializer
我正在序列化的 class 之一有一个虚拟的 属性,我想看看。我正在使用 yaml 配置。
这是 yaml:
Namespace\Model\Keg:
exclusion_policy: ALL
properties:
A list of properties that work
virtual_properties:
getKegImage:
serialized_name: image
这是class:
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 文件中尝试了多种设置组合,但无法显示。
从代码来看,使用 yaml 元数据似乎不支持虚拟属性。幸运的是,您可以根据需要混合使用元数据源。我只是将 @VirtualProperty Doctrine 注释添加到方法中,它按预期工作。
YAML 现在支持虚拟属性。
对于其他 Google 员工,如果您正在使用 groups
,请确保您也在虚拟 属性 定义中列出它们 即使官方 YAML 参考没有列出它们作为可能的值.
我正在序列化的 class 之一有一个虚拟的 属性,我想看看。我正在使用 yaml 配置。
这是 yaml:
Namespace\Model\Keg:
exclusion_policy: ALL
properties:
A list of properties that work
virtual_properties:
getKegImage:
serialized_name: image
这是class:
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 文件中尝试了多种设置组合,但无法显示。
从代码来看,使用 yaml 元数据似乎不支持虚拟属性。幸运的是,您可以根据需要混合使用元数据源。我只是将 @VirtualProperty Doctrine 注释添加到方法中,它按预期工作。
YAML 现在支持虚拟属性。
对于其他 Google 员工,如果您正在使用 groups
,请确保您也在虚拟 属性 定义中列出它们 即使官方 YAML 参考没有列出它们作为可能的值.