1

我正在用 PHP 构建我的分类帐应用程序的客户端。我已经编写了 DAML 代码,完成了grpc 快速入门教程,然后运行了命令

da add ledger-api-protos

现在看来下一步是运行 grpc_php_plugin 将 .proto 文件转换为 php 类和函数。在快速入门教程中,命令如下:

protoc --proto_path=examples/protos \
  --php_out=examples/php \
  --grpc_out=examples/php \
  --plugin=protoc-gen-grpc=bins/opt/grpc_php_plugin \
  ./examples/protos/helloworld.proto

只有一个 .proto 文件。但是,我的项目文件夹具有 .proto 文件的整个目录结构!'protoc' 命令应该如何查找我的项目?

我看到有三个不同的主目录:com、google、grpc。我是否需要包含所有三个中的 .proto 文件?我看到许多 .proto 文件是相互依赖的。是否需要一两个主要的 .proto 文件,并且会导致所有其他文件都被拉入?

4

1 回答 1

2
protoc --proto_path=proto_dir \
  --php_out=xxxxx \
  --grpc_out=xxxxx \
  --plugin=protoc-gen-grpc=bins/opt/grpc_php_plugin \
  a.proto b.proto c.proto ...

或者参考这个脚本是怎么做的: https ://github.com/googleapis/googleapis/blob/master/Makefile#L39

于 2019-02-27T20:01:55.157 回答