在DA Ledger API原始文件上运行grpc php插件

时间:2019-02-27 19:17:29

标签: php grpc daml

我正在用PHP构建我的分类帐应用程序的客户端。我已经编写了DAML代码,经过grpc quickstart tutorial,然后运行了命令

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文件,从而导致其他所有文件都被拉入?

1 个答案:

答案 0 :(得分: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