博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转:如何在PHP中处理Protocol Buffers数据
阅读量:7097 次
发布时间:2019-06-28

本文共 1193 字,大约阅读时间需要 3 分钟。

我们知道Protocol Buffers是Google定义的一种跨语言、跨平台、可扩展的数据传输及存储的协议,因为将字段协议分别放在传输两端,传输数据中只包含数据本身,不需要包含字段说明,所以传输数据量小,解析效率高。感兴趣的可以访问。Protocol Buffers官方只支持C++, Java, Python, C#, Go,如果想在PHP中使用Protocol Buffers,需要借助于第三方的扩展,使用方法如下。

安装protoc编译器

第一步,安装Google的protoc编译器,这个工具可以把proto文件中定义的Message转换为各种编程语言中的类。下载release版本直接编译安装。

tar -xvzf protobuf-2.5.0.tar.gzcd protobuf-2.5.0./configure --prefix=/usr/local/protobufmake && make install

安装PHP Plugin

第二步,安装protoc的PHP plugin,需要使用composer安装,感兴趣的可以访问

这个插件可以将proto文件转换到PHP文件,在PHP应用中引用后,可以将二进制格式的Protocol Buffers数据转换为PHP的对象

unzip protoc-gen-php-master.zipcd protoc-gen-php-mastercurl -sS https://getcomposer.org/installer | phpphp composer.phar install/usr/local/protobuf/bin/protoc --plugin=bin/protoc-gen-php --php_out=php_kingso -I. kingso.proto

安装php-protocolbuffers

第三步,安装php-protocolbuffers,这是一个PHP扩展,在第二步中已经完成了proto文件到PHP文件的转换,但是对PHP对象的各种操作还需要这个扩展中的API方法

phpize./configuremake && make install

然后在你的php.ini配置文件中添加

extension = "protocolbuffers.so"

编写代码

第四步,借助上面提到的扩展的各种API方法,可以简单地get出自己需要的字段完成后续工作

require "....../kingso.proto.php"$ks_result = KSResult::parseFromString($kingso_res); $ks_result->get('xxx_name');

转载于:https://www.cnblogs.com/dasn/articles/5464568.html

你可能感兴趣的文章
02Scala-函数定义、流程控制、异常处理入门实战
查看>>
jquery,smarty,dedecms的插件思路------dede未实践
查看>>
php pdo错误:SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
查看>>
Team Foundation Server:CodeUI Automation Test 学习笔记4
查看>>
反射属性名和属性值
查看>>
python文件操作
查看>>
oracle 建立表空间和用户
查看>>
nginx之 [error] 6702#0:XXX is forbidden (13: Permission denied)
查看>>
Maven属性(properties)标签的使用
查看>>
闲谈CDN网络架构
查看>>
dispatchEvent发送事件
查看>>
Java程序员金三银四精心准备的面试题及答案(基础篇)
查看>>
FileInputStreamTest
查看>>
u-boot 之配置分析 (2)
查看>>
对抗海量表格数据,【华为2012实验室】没有选择复仇者联盟
查看>>
JavaScript高级程序设计:第一章
查看>>
基础才是重中之重~你是否真正了解TransactionScope?
查看>>
JS~模拟表单在新窗口打开,避免广告拦截
查看>>
ANSI最全介绍linux终端字体改变颜色等
查看>>
数据结构5——堆
查看>>