如何序列化依赖于guzzle 6客户端的对象


How to serialize an object which depends on guzzle 6 client?

我有一个对象,它有Guzzle HTTP客户端(版本6)作为依赖。当我尝试使用php serialize()方法序列化它时,它会抛出Serialization of 'Closure' is not allowed异常。我想到了两个选项:

a)使用旧版本的guzzle而忘记升级到新版本(不是最好的情况)

b)选择性地序列化对象的属性,跳过Guzzle客户端(它增加了一些复杂性,但似乎是一个不错的选择)

也许我做错了,所以请告诉我你会怎么做。

UPD:对象是一个模型,它使用Guzzle客户端从api获取它的属性

毕竟,我决定实现一个序列化器,并只从模型对象中选择有用的属性。事实上,我发现没有必要保持http客户端序列化,因为它没有与模型相关的重要状态。然后,在反序列化时,可以再次附加guzzle客户机。对于那些处理相同问题的人,我建议查看symfony的序列化器组件文档,其中给出了它应该如何工作的概念:http://symfony.com/doc/current/components/serializer.html