新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
快速教你在php中如何操作使用protobuf

這里是一篇操作教程,記錄下來方便后續(xù)復習。
在php中使用protobuf(v3)進行序列化和反序列化,從安裝到使用需要進行哪些步驟,注意哪些問題。
操作環(huán)境
Centos7.8
php7.4
安裝
在github上搜索google/protobuf,找到官方源庫文檔,找到對應的PHP文檔,按照官方文檔去進行操作。
文檔中安裝涉及了兩個部分,一個是安裝protobuf的C擴展,另一個是依賴包google/protobuf。
C擴展的安裝使用pecl命令(需要使用find / -name pecl查找,安裝的路徑并沒有在環(huán)境變量中);
除此之外還依賴其他的命令需要先行安裝,C擴展下載安裝的路徑不符合預期(我的php使用remi-php的庫安裝,路徑和原始鏡像的默認設置不同);
之后需要對protobuf.so建立軟鏈接;
之后使用composer安裝依賴包即可。
接下來還需要代碼生成器protoc,[proto的安裝],解析定義文件*.proto并生成對應php代碼,在項目中使用,需要引入對應的代碼才可以,需要變更composer.json文件增加autoload配置,如果是測試,也可以手動require。
使用
使用主要分為兩點,一個是序列化,另一個是反序列化?!就扑]:PHP視頻教程】
$pb=new Demo();
$pb->setName('demo');
//序列化,數(shù)據(jù)不可看
$string=$pb->serializeToString();
//序列化,數(shù)據(jù)可看
$string=$pb->serializeToJsonString();
//反序列化
$pb=new Demo();
//從db中獲取到的序列化值,反序列化賦值給$pb,然后就可以正常使用
$pb->mergeFromString($string);
$pb->mergeFromJsonString($string);
$pb->getName();//輸出demo 新聞名稱:快速教你在php中如何操作使用protobuf
本文來源:http://m.fisionsoft.com.cn/article/dhsjhpi.html


咨詢
建站咨詢
