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