我一直在做一些研究,没有任何结果。所以我来这里直接问这个问题。
我有一个实体,为了将其返回到一些api调用中,我需要对其进行序列化。
现在我有类似的东西
class Place implements \JsonSerializable{
[...] fields lists [...]
public function jsonSerialize(){
return array(
"id" => $this->id,
"title" => $this->title);
}
}
这是正确的,但是,我希望能够对序列化有多个定义,因为对于api1,我可能想返回id和title,但是对于api2,我想返回id / title然后继续。
有没有办法让jsonSerialize()成为条件?还是其他方式?我很确定我已经在Java中完成了类似的工作,而在php中可能已经实现了。
感谢您的帮助。
答案 0 :(得分:2)
自Symfony 2.7起,您可以使用序列化程序和序列化程序组提供不同的数据。您可以通过注释进行设置。
否则,您可以使用JMSSerializerBundle,它包含alose组和其他有用的功能。 JMSSerializerBundle