How to do protobuf deserialization in PHP
我从服务器收到响应,需要使用protobuf反序列化。我知道我需要具有将包含定义的.proto文件。
如何解析响应字符串并创建PHP对象?
更新:
我尝试使用可用的库(http://code.google.com/p/pb4php/),但是它抛出异常,并显示消息"原型类型uint64 unknown!"。知道如何避免这种情况吗?
您必须下载php的protobuf lib。它带有编译器(生成器),它将为您从.proto生成php类。
我查看了库代码,发现不支持uint64。现在我从服务器获取的uint64字段是到期时间。即使我认为100年有效,它也永远不会超出int范围。因此,我已经将uint64链接到了int数据类型的解析,并且对我来说工作正常。
尽管这不是一个好的解决方案,并且完全取决于个人使用情况。