はじめに
これまでgRPCをPHPで扱うにはクライアントの用途しか存在せず、公式ドキュメントもサーバ側の実装はNode.jsで実装されるという悲しい現実をペチパー達は噛みしめていました。
しかし、githubのPRを暇つぶしにボケーっと見ていたところどうやら実装されているらしいというのがわかったので動作確認までやってみました。
gRPCリポジトリの該当PR
last step to complete php server.
( gRPCサーバーを完成させる為の最後のステップ )
実際に動かせるサンプルコード
ローカルPCで動作するか確認してみた
Σ(゚Д゚)スゲェ!! ちゃんと動くぞ...
Serverのコード生成どうしてるの?
phpのprotoc pluginだと確かクライアント側のコードしか生成してくれないはず。
Server側のコード生成方法
generate_server:
のオプション渡してますね。
古いgrpc_php_pluginだと認識されないのでbazelで最新のpluginをビルドして使うと生成できそうです。
公式のクイックスタートとチュートリアルを確認してみた
https://grpc.io/docs/languages/php/quickstart/
https://grpc.io/docs/languages/php/basics/
まだサーバ側はNode.jsで実装されてますね。
公表するには早いのか、ドキュメント調整中なのか。。。
あとがき
RoadRunner × PHP-gRPCプラグインを使ってPHPのgRPCサーバー建てる記事書こうと思ってたんですが書かなくてよかった?w
Interceptor周りもコード追って使いたいすね ><
それでは皆様...