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