在JMS中序列化对象时包含方法

时间:2015-06-13 07:05:53

标签: symfony serialization jmsserializerbundle

我有一个返回值的方法:

/**
* @ORM\Table()
* @ORM\Entity(repositoryClass="PersonRepository")
*/
class Person {

   /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
   private $id;

   public function getFoo(){
      return $this->id + 1;
   }

 //setters & getters

}

我希望在序列化getFoo()对象时包含Person返回的值,使其看起来像这样:

{
   'id' : 25
   'foo' : 26
}

1 个答案:

答案 0 :(得分:1)

您需要设置$id = Route::current()->parameter('id'); @VirtualProperty

@SerializedName

您可以在此处详细了解:http://jmsyst.com/libs/serializer/master/reference/annotations

请注意,这仅适用于序列化,不适用于反序列化。