php - Laravel 5.7 gRPC 集成

标签 php laravel-5 grpc

我已经在核心 PHP 中设置了 gRPC,它运行良好,但我想将它与 laravel 5.7 一起使用。我已经使用 composer.json 下载了 gRPC .现在我不知道在其中使用 gRPC 需要做什么。

我在我的 composer.json 文件中添加了以下内容

"require": {
        "datto/protobuf-php": "dev-master",
        "grpc/grpc": "^1.15.0"
    },
"repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/stanley-cheung/Protobuf-PHP"
        }
    ]

但是现在我不知道接下来应该做什么。所以有人知道请告诉我。我有我从这个 web url 设置的 gRPC(核心库示例)的核心 PHP 代码。 gRPC in PHP .所以我只想融入laravel。

最佳答案

如何在 Laravel (5.7) 中使用 protoc 生成的文件

  • 像往常一样准备描述服务的 .proto 文件
  • 设置为包名 package app.grpc;
  • 运行生成命令:protoc --php_out=./ --grpc_out=./ --plugin=protoc-gen-grpc=/your/path/to/grpc_php_plugin yourfile.proto
  • 现在在 Laravel App 中复制 App/Grpc
  • 将 GPBMetadata 文件夹复制为 laravel 根目录中的新文件夹
  • 更改 composer.json文件插入GPBMetadata自动加载类映射部分中的位置(见下文)
  • 运行命令 composer dump-autoload
  • 现在你可以在任何 Controller 中使用你生成的类,记得添加 use App\Grpc\YourClassName在顶部。

  • 如果有人对此有更好的解决方案,请告诉我
    composer.json相关部分:
    ...
        "autoload": {
            "classmap": [
                "database/seeds",
                "database/factories",
                "GPBMetadata"
            ],
            "psr-4": {
                "App\\": "app/"
            }
        }
    ...
    

    关于php - Laravel 5.7 gRPC 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54016622/

    相关文章:

    php - 如何从 HTTP 请求验证 Google Cloud Task token ?

    laravel-5 - 解决facade root has not been set

    python - 无法在 pyspark 中加载模型并使用 grpc 提供服务

    arrays - 如何将 JSON 数组建模为 protobuf 定义

    PHP 我应该使用 pg_* 函数还是 PDO?

    javascript - 在javascript中提前捕捉时间

    php - 如何在 laravel 中包含(file.form)blade.php 文件和另一个blade 文件

    php - 如何在 Laravel 5.5 中进行多次插入?

    c# - 将流转换为字节串