https://blog.youkuaiyun.com/my3187617174/article/details/88538858
protobuf的安装
protoc的源码和各个系统的预编译包:https://github.com/protocolbuffers/protobuf/releases
1、选择对应的安装文件下载
bin下面有protoc.exe, 可以双击或 用目录下右键,命令行运行,然后输入 protoc.exe回车,
inlucde文件夹,下面有个google/protobuf ..里面都是使用proto的文件,不过不用管这里, 直接用composer reuqire google/protobuf, 会自动下载所需文件,并生成autoload.php 加载文件
2、添加到环境变量中,我的电脑-》右键属性-》高级 -》环境变量-》
用户变量添加, Path: D:\protobuf-3.6-win32\bin
系统变量添加,PROTOBUF_HOME : D:\protobuf-3.6-win32\bin
安装完成!
protobuf的使用方法
1、基本用法
protoc --version #查看protoc的版本
2、代码转换显例
切换到要使用的proto文件路径下,并打开cmd窗口执行以下命令
protoc -I=源地址 --php_out=目标地址 源地址/xxx.proto
如:protoc hello.proto --php_out=./
此处生成时会以 proto 里面注明的java_package为路径完整生成,所以目标地址不必包含java_package及之后的路径,比如:option java_package = "com.test.protocol";,那么就会生成com/test/protocol/XXX.java
参数说明
-I:主要用于指定待编译的 .proto 消息定义文件所在的目录,即可能出现的包含文件的路径,该选项可以被同时指定多个。此处指定的路径不能为空,如果是当前目录,直接使用.,如果是子目录,直接使用子目录相对径,如:foo/bar/baz,如果要编译的文件指定的文件路径为baz/test.proto,那么应这么写-I=foo/bar,而不要一直写到baz。
比如执行命令:
protoc -I=. --java_out=../../../../ beans/*.proto apis/*.proto *.proto