「Php/composer/grpc」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→サンプル) |
|||
| 行1: | 行1: | ||
| + | (注意:途中です) | ||
| + | |||
==公式== | ==公式== | ||
https://cloud.google.com/php/grpc?hl=ja#using-pecl | https://cloud.google.com/php/grpc?hl=ja#using-pecl | ||
2023年10月20日 (金) 11:30時点における版
(注意:途中です)
公式
https://cloud.google.com/php/grpc?hl=ja#using-pecl
インストール
mkdir php_grpc cd php_grpc curl -sS https://getcomposer.org/installer | php sudo pecl install grpc composer.phar require "grpc/grpc:^1.38" composer.phar require "google/protobuf:^3.17" sudo pecl install protobuf
インストール確認
- vendor/grpc
- vendor/google/protobuf
があることを確認
実行
index.php
<?php require_once __DIR__ . '/vendor/autoload.php';
リクエストサンプル
準備
composer.json
{
"require": {
"grpc/grpc": "^1.38",
"google/protobuf": "^3.17"
},
"autoload": {
"psr-4": {
"GPBMetadata\\" : "../GPBMetadata/",
"Example\\" : "../Example/"
}
}
}
サンプル
require_once __DIR__ . '/vendor/autoload.php';
use Example\ExampleClient;
use Example\EchoRequest;
use Example\EchoResponse;
function request(string $requestMessage)
{
$client = new ExampleClient('localhost:50051', [
'credentials' => Grpc\ChannelCredentials::createInsecure(),
]);
$request = new EchoRequest();
$request->setMessage($requestMessage);
list($reply, $status) = $client->Echo($request)->wait();
return $reply->getMessage();
}
echo request('World.')."\n";
protocでphp作成
作成中・・・
