2011-09-16 43 views
1

我從服務器獲得響應,我需要使用protobuf反序列化。我知道我需要有包含定義的.proto文件。如何在PHP中使用protobuf反序列化

如何解析響應字符串並創建PHP對象?

更新: 我試圖使用可用的庫(http://code.google.com/p/pb4php/),但它引發了一個消息'Protofile type uint64 unknown!'的異常。任何想法我怎麼能避免它?

回答

0

我看了一下庫的代碼,發現不支持uint64。現在,我從服務器獲得uint64的字段是到期時間。即使我認爲100年到期,它也不會超出整個範圍。所以我已經將uint64鏈接到int數據類型的解析,並且它對我來說工作正常。

雖然這不是一個好的解決方案,並完全依賴個人使用。

1

你必須下載protobuf lib for php。它帶有編譯器(生成器),它將爲你生成.proto中的php類。

+0

我試圖使用這個庫,但它不適合我。我收到一個錯誤'Protofile type uint64 unknown!'。任何想法如何解決它? –

+1

@CM .:我認爲值得將這些信息添加到您的問題中。對於'uint64'類型,你需要實現它。它寫在該庫的主頁上:*「此時此項目具有beta版狀態,我完成了原始文件的解析器,並且現在實現了Int,Enum,String和Nested Messages,用於讀取和寫入消息。隨意完成實施。「* – hakre

+0

這個庫是舊的 –

相關問題