php使用protobuf3
Posted 奔跑的小猪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php使用protobuf3相关的知识,希望对你有一定的参考价值。
1.定义一个protoc 文件 示例:person.proto
syntax="proto3"; //声明版本,3x版本支持php package test; //包名 message Person{ //Person 生成php文件的类名 string name=1; //姓名 int32 age=2; //年龄 bool sex=3; //性别 }
2.安装peotoc成功后,进入cmd 执行命令
protoc --php_out=./ person.proto
命令执行成功后,会在当前目录生成 文件 GPBMetadata/Person.php Test/Person.php
3.在php中使用protobuf需要安装php的扩展,或者使用composer 安装依赖扩展(自动生成 autoload 文件,方便)
composer require google/protobuf
4.建立测试 test.php文件,能够引入生成的php类库文件与composer 安装生成的autoload 文件,执行文件
序列化
<?php include \'vendor/autoload.php\'; include \'GPBMetadata/Person.php\'; include \'Test/Person.php\'; $person = new Test\\Person(); $person->setName("xiaozhu"); $person->setAge("20"); $person->setSex(true); $data = $person->serializeToString(); file_put_contents(\'data.bin\',$data); echo $data;
反序列化
<?php include \'vendor/autoload.php\'; include \'GPBMetadata/Person.php\'; include \'Test/Person.php\'; $person = new Test\\Person(); $bindata = file_get_contents(\'./data.bin\'); $person = new Test\\Person(); $person->mergeFromString($bindata); echo $person->getName();
以上是关于php使用protobuf3的主要内容,如果未能解决你的问题,请参考以下文章
使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面