如何将 DataTransformer 转换与 FosRestBundle 视图层一起使用
How can I use a DataTransformer transform with the FosRestBundle view layer
我在我的表单上使用 DataTransformer
来 reverseTransform
客户端发送到 Money/Money
对象中的十进制值。
这按预期工作得很好,但是当我 return 使用 FosRestBundle 视图层将数据发送到客户端时,我不确定如何使用该转换器将其转换回十进制值客户?
如果您将 JMSSerializer 与 FOSRestBundle 一起使用,序列化程序通常会使用反射访问对象的值,因此不会触及 getter。
但是,您可以使用 access_type
设置将 属性 或对象中所有属性的访问类型设置为 public 方法 (getters/setters) .
对于注释,您将使用..
use JMS\Serializer\Annotation\AccessType;
class YourClass
{
/**
* @AccessType("public_method")
*/
private $money;
....
}
有关详细信息,请参阅:
注释:http://jmsyst.com/libs/serializer/master/reference/annotations#accessor
XML: http://jmsyst.com/libs/serializer/master/reference/xml_reference
YAML:http://jmsyst.com/libs/serializer/master/reference/yml_reference
我在我的表单上使用 DataTransformer
来 reverseTransform
客户端发送到 Money/Money
对象中的十进制值。
这按预期工作得很好,但是当我 return 使用 FosRestBundle 视图层将数据发送到客户端时,我不确定如何使用该转换器将其转换回十进制值客户?
如果您将 JMSSerializer 与 FOSRestBundle 一起使用,序列化程序通常会使用反射访问对象的值,因此不会触及 getter。
但是,您可以使用 access_type
设置将 属性 或对象中所有属性的访问类型设置为 public 方法 (getters/setters) .
对于注释,您将使用..
use JMS\Serializer\Annotation\AccessType;
class YourClass
{
/**
* @AccessType("public_method")
*/
private $money;
....
}
有关详细信息,请参阅:
注释:http://jmsyst.com/libs/serializer/master/reference/annotations#accessor
XML: http://jmsyst.com/libs/serializer/master/reference/xml_reference
YAML:http://jmsyst.com/libs/serializer/master/reference/yml_reference