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

Php 如何序列化依赖guzzle 6客户端的对象?,php,serialization,guzzle,Php,Serialization,Guzzle,我有一个对象,它将Guzzle HTTP客户端(版本6)作为依赖项。当我尝试使用phpserialize()方法对其进行序列化时,它抛出不允许序列化“Closure”异常。我在这里想到两个选择: a) 使用以前版本的guzzle,忘记升级到新版本(不是最佳方案) b) 为了有选择地序列化对象的属性,跳过Guzzle客户端(这增加了一些复杂性,但似乎是个不错的选择) 也许我做错了,所以请建议你该怎么做 UPD:该对象是一个模型,它使用Guzzle客户端从api获取其属性。毕竟,我决定实现一个序列化

我有一个对象,它将Guzzle HTTP客户端(版本6)作为依赖项。当我尝试使用php
serialize()
方法对其进行序列化时,它抛出
不允许序列化“Closure”
异常。我在这里想到两个选择:

a) 使用以前版本的guzzle,忘记升级到新版本(不是最佳方案)

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

也许我做错了,所以请建议你该怎么做


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

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

当序列化客户端时,php尝试序列化连接到此客户端的所有对象。因此,无法执行序列化。可能的解决方案:您可以在不使用guzzle客户端的情况下序列化您的模型。仅保存guzzle客户端的几个属性,以备将来恢复。打开非序列化-创建guzzle客户端并手动将其连接到模型。