Laravel 5.7 gRPC Интеграция - PullRequest
       7

Laravel 5.7 gRPC Интеграция

0 голосов
/ 03 января 2019

Я установил gRPC в ядре PHP, и он работает нормально, но я хочу использовать его с laravel 5.7. Я скачал gRPC используя composer.json. Теперь я не знаю, что мне нужно сделать, чтобы использовать в нем 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"
        }
    ]

Но теперь я не понимаю, что делать дальше. Тогда кто-нибудь знает, пожалуйста, дайте мне знать. У меня есть основной PHP-код для gRPC (пример базовой библиотеки), который я настроил из этого веб-адреса. gRPC в PHP . Так что я просто хочу интегрироваться в Laravel.

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Как использовать сгенерированные протоколом файлы с Laravel (5.7)

  • Подготовьте файл .proto, описывающий ваши услуги, как обычно
  • Установить как имя пакета package app.grpc;
  • Запустить команду генерации: protoc --php_out=./ --grpc_out=./ --plugin=protoc-gen-grpc=/your/path/to/grpc_php_plugin yourfile.proto
  • Теперь скопируйте приложение / Grpc внутри приложения laravel
  • Копировать папку GPBMetadata как новую папку в корне laravel
  • Изменить composer.json расположение файла GPBMetadata расположение в разделе карты автозагрузки ( см. Ниже )
  • Команда запуска composer dump-autoload
  • Теперь вы можете использовать сгенерированные классы в любом контроллере, не забудьте добавить use App\Grpc\YourClassName вверху.

дайте мне знать, если у кого-то есть лучшие решения для этого

Соответствующая часть composer.json:

...
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories",
            "GPBMetadata"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    }
...
0 голосов
/ 16 января 2019

они вам больше не нужны

"datto/protobuf-php": "dev-master",

"repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/stanley-cheung/Protobuf-PHP"
        }
    ]

Вместо этого вы должны добавить "google/protobuf": "^3.6.1" к вашему require.

См. Это в качестве примера:

https://github.com/grpc/grpc/blob/master/examples/php/composer.json

Версии устарели - просто возьмите последние версии.

...