laravel 使用 Protocol_Buffer3

1. Proto3安装

下载地址 https://github.com/protocolbuffers/protobuf/releases
tar -xvzf protobuf-php-3.9.1.tar.gz
cd protobuf-php-3.9.1
./configure --prefix=/usr/local/protobuf
make && make install

2. 添加全局变量

在/etc/profile中添加环境变量PROTOCTL_BUFFER_HOME(protobuf-php-3.9.1.tar.gz解压后目录),并在PATH中添加$PROTOCTL_BUFFER_HOME/bi

3. 根据Proto3语法编写 .proto文件

proto3,不能在属性前出现required、optional,所以文件顶端要明确syntax = “proto3”;,另外增加package配置为package app.proto;配置package 影响生成的文件夹和命名空间
在这里插入图片描述
运行命令: protoc --php_out=. XXX.proto
生成package 定义的App/Proto 以及默认的GPBMetadata 两个文件夹,文件夹中包含多个根据.proto文件生成的php类

在这里插入图片描述
将App下Proto文件夹和GPBMetadata 两个文件夹迁入laravel的app

4. 修改laravel 的composer.json 文件配置autoload.classmap增加app/GPBMetadata路径

5. 运行composer dumpautoload 更新laravel自动加载配置

6. 项目中引入proto的依赖,安装 “google/protobuf” ,通过protoc 生成的类需要此依赖命令 composer require “google/protobuf”

7. 使用 App\Proto 生成的类去处理pb数据,App\Proto与GPBMetadata 中的类是绑定关系,增加类或方法无效,要新增App\Proto下的类需要重新执行本文第三步与第五步

8. .proto文件可以理解为table的集合,通信双方需要一致的.proto定义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
答案如下: 1. 将 protobuf 包降级至 3.20.x 或更低版本。 降级 protobuf 包的目的可能是为了兼容旧版本或解决与其他依赖包之间的兼容性问题。要降级 protobuf 包,可以通过以下几个步骤来实现: 首先,了解当前所使用protobuf 版本,以及需要降级到的目标版本。然后,根据项目所使用的包管理工具(如 pip、npm 等),将 protobuf 包的版本号更新为目标版本号。 例如,在使用 pip 管理 Python 包的情况下,可以运行以下命令来降级 protobuf 包: ``` pip install protobuf==3.20.x ``` 这将会将 protobuf 包降级至指定的版本。 2. 设置 protocol_buffer。 如果需要设置 protocol_buffer,可以有不同的具体操作,具体设置过程可以根据具体环境和需求进行。 protocol_buffer(简称为 Protobuf)是一种用于序列化结构化数据的机制,通常用于在不同语言或不同平台之间传输数据。要设置 protocol_buffer,需要参考所使用的编程语言或框架的文档或手册,查找设置相关选项或配置方法。 例如,对于 Python,可以使用 Protobuf 官方提供的 python 库来设置 protocol_buffer。此库通常可以通过 pip 等包管理工具进行安装。 在设置 protocol_buffer 之前,可以先确定所需的配置选项和参数。然后,根据官方文档中的设置说明,按照步骤进行相关配置。 以 Python 为例,可以按照以下方式设置 protocol_buffer: 首先,导入所需的库和模块。例如: ``` import protocol_buffer ``` 然后,根据具体需求,使用相关API或方法进行配置。例如: ``` protocol_buffer.enable_logging() protocol_buffer.set_default_timeout(5000) ``` 最后,根据具体应用场景,将 protocol_buffer 与其他组件或功能进行整合和使用。 需要注意的是,上述设置方式仅为示例,实际设置过程可能因编程语言、框架或使用场景而有所差异。因此,具体设置 protocol_buffer 的方法最好参考相关文档或资源进行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值