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

标签 php serialization guzzle

我有一个对象,它具有 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

关于php - 如何序列化依赖于 guzzle 6 客户端的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31503718/

相关文章:

PHP 数组字符串化

php - 在复杂 MySQL 查询中使用变量

c# - 序列化排除类成员的 POCO

php - 无法使用 try/catch 处理异常

guzzle - 需要在 guzzle 请求上设置标题

php - 您可以在 Guzzle POST 正文中包含原始 JSON 吗?

php - 如何在 PHP 中制作个人哈希算法

php - 从 URL 流式传输实时 ts 文件 - iptv

java - JPA - jackson - @JsonAutoDetect - 圈子关系 OneToMany - 防止 LOOP 加载错误

c# - 如何在 Unity 中序列化和反序列化包含 Gameobject 和 Vector2 的字典