在PHP中使用
protobuf(v3)進行序列化和反序列化,從安裝到使用需要進行哪些步驟,注意哪些問題。
Centos7.8
php7.4
安裝
在github 上搜尋
google/protobuf,找到官方來源庫文檔,找到對應的PHP文檔,按照官方文檔去進行操作。
protobuf的C擴展,另一個是依賴套件
google/protobuf。
pecl指令(需要使用
find / -name pecl來尋找,安裝的路徑並沒有在環境變數中);
php#使用
remi-php的庫安裝,路徑和原始鏡像的預設設定不同);
protobuf.so建立軟連結;
composer安裝依賴套件即可。
protoc,[proto的安裝],解析定義檔
*.proto並產生對應
php程式碼,在專案中使用,需要引入對應的程式碼才可以,需要變更
composer.json檔案增加
autoload配置,如果是測試,也可以手動
require 。
使用
使用主要分成兩點,一個是序列化,另一個是反序列化。 【推薦:PHP影片教學】
$pb=new Demo(); $pb->setName('demo'); //序列化,数据不可看 $string=$pb->serializeToString(); //序列化,数据可看 $string=$pb->serializeToJsonString(); //反序列化 $pb=new Demo(); //从db中获取到的序列化值,反序列化赋值给$pb,然后就可以正常使用 $pb->mergeFromString($string); $pb->mergeFromJsonString($string); $pb->getName();//输出demo
擴充#不同版本的protobuf
並不相容,如果涉及版本轉換,可參考部落格[php使用protobuf]PHP文件PHP文件
:https://github.com/protocolbuffers/protobuf/tree/master/php ##
以上是快速教你在php中如何操作使用protobuf的詳細內容。更多資訊請關注PHP中文網其他相關文章!