您好,登錄后才能下訂單哦!
這篇文章主要介紹“php中如何操作使用protobuf”,在日常操作中,相信很多人在php中如何操作使用protobuf問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php中如何操作使用protobuf”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在PHP中使用protobuf(v3)
進行序列化和反序列化,從安裝到使用需要進行哪些步驟,注意哪些問題。
操作環境
Centos7.8
php7.4
安裝
在github
上搜索google/protobuf
,找到官方源庫文檔,找到對應的PHP文檔,按照官方文檔去進行操作。
文檔中安裝涉及了兩個部分,一個是安裝protobuf
的C擴展,另一個是依賴包google/protobuf
。
C擴展的安裝使用pecl
命令(需要使用find / -name pecl
查找,安裝的路徑并沒有在環境變量中);
除此之外還依賴其他的命令需要先行安裝,C擴展下載安裝的路徑不符合預期(我的php
使用remi-php
的庫安裝,路徑和原始鏡像的默認設置不同);
之后需要對protobuf.so
建立軟鏈接;
之后使用composer
安裝依賴包即可。
接下來還需要代碼生成器protoc
,[proto的安裝],解析定義文件*.proto
并生成對應php
代碼,在項目中使用,需要引入對應的代碼才可以,需要變更composer.json
文件增加autoload
配置,如果是測試,也可以手動require
。
使用
使用主要分為兩點,一個是序列化,另一個是反序列化。
$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
到此,關于“php中如何操作使用protobuf”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。