我有一个将Guzzle HTTP客户端(版本6)作为依赖项的对象。当我尝试使用php serialize()
方法对其进行序列化时,会抛出Serialization of 'Closure' is not allowed
异常。我想到两个选择:
a)使用以前版本的guzzle并忘记升级到更新版本(不是最佳场景)
b)有选择地序列化对象的属性,跳过Guzzle客户端(它增加了一些复杂性,但似乎是不错的选择)
也许我做错了,所以请建议你做什么。
UPD:对象是一个模型,它使用Guzzle客户端从api获取它的属性。
答案 0 :(得分:1)
毕竟,我决定实现一个序列化程序,只从模型对象中选择有用的属性。事实上,我发现没有必要保持http客户端序列化,因为它没有与模型相关的重要状态。然后,当反序列化时,可以再次附加guzzle客户端。对于处理相同问题的人,我建议查看symfony的序列化程序组件文档,该文档可以了解它应该如何工作:http://symfony.com/doc/current/components/serializer.html