首页 > 其他 > 详细

protobuf的安装

时间:2021-06-28 10:24:34      阅读:32      评论:0      收藏:0      [点我收藏+]

Protobuf的安装

    下面记录下在windows中如何安装protobuf 

     1、下载

    下载所需的安装包,地址为:https://github.com/protocolbuffers/protobuf/releases

    下载完成之后解压

      技术分享图片

     2、将bin目录将入环境变量

     技术分享图片


    3、查看安装是否成功

    protoc  --version

技术分享图片 

    4、编写一个mail.proto文件

// mail.proto

syntax = ‘proto3‘;
package mail;
message MailConfig{
  string to   = 1;
  string from = 2;
  string msg  = 3;
}

   5、 新建一个项目:把 mail.proto 文件,放到项目中。比如这里的prototest/app/mail.proto。

   6、执行命令生成PHP相关文件:protoc --php_out=. mail.proto

   –php_out=.表示编译成PHP代码,放在当前目录(.),也可以指定文件夹。 

 技术分享图片

 

    7、在PHP中使用ProtoBuf

    在PHP中使用ProtoBuf依赖一个protobuf的扩展,目前提供两种方式进行使用:

    1) php的c扩展

    2)php的lib扩展包,这两者均可在刚才下载包里可以找到。

   另外,也可以使用composer进行安装该依赖扩展:composer require google/protobuf

   这里我主要是使用composer安装,应该它可以帮助我们产生autoload。安装好依赖后,我们就可以开始在php环境下使用protobuf了

   8、使用composer安装以后

   在刚才创建的项目prototest目录下,会生成相应的vendor目录,如下图:

   技术分享图片 

   9、在项目的根目录新建  index.php,看protoc如何使用吧。prototest/app/index.php 内容如下:

 1 <?php
 2 defined(‘DS‘) or define(‘DS‘,DIRECTORY_SEPARATOR);
 3 
 4 require $_SERVER[‘DOCUMENT_ROOT‘].‘/vendor/autoload.php‘;
 5 require ‘GPBMetadata/Mail.php‘;
 6 require ‘Mail/MailConfig.php‘;
 7 
 8 // Write写数据
 9 $foo=new \Mail\MailConfig();
10 $foo->setTo("Tom");
11 $foo->setFrom("John");
12 $foo->setMsg("Don‘t forget the meeting!");
13 $packed=$foo->serializeToString();
14 
15 // Reader读数据
16 $res=new \Mail\MailConfig();
17 $res->mergeFromString($packed);
18 $jsonArr=[
19     "to"=>$res->getTo(),
20     "from"=>$res->getFrom(),
21     "msg"=>$res->getMsg(),
22 ];
23 
24 var_dump($jsonArr);

 访问一下:

 技术分享图片

   这里就是PHP简单使用protobuf,后面我们再来看看protobuf的语法。 

  参考链接:https://blog.csdn.net/wplblog/article/details/112537824

protobuf的安装

原文:https://www.cnblogs.com/hld123/p/14942331.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!