1<?php 2/* 3 * 4 * Copyright 2015 gRPC authors. 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 * 18 */ 19 20// php:generate protoc --proto_path=./../protos --php_out=./ --grpc_out=./ --plugin=protoc-gen-grpc=./../../bins/opt/grpc_php_plugin ./../protos/helloworld.proto 21 22require dirname(__FILE__).'/vendor/autoload.php'; 23 24@include_once dirname(__FILE__).'/Helloworld/GreeterClient.php'; 25@include_once dirname(__FILE__).'/Helloworld/HelloReply.php'; 26@include_once dirname(__FILE__).'/Helloworld/HelloRequest.php'; 27@include_once dirname(__FILE__).'/GPBMetadata/Helloworld.php'; 28 29function greet($name) 30{ 31 $client = new Helloworld\GreeterClient('localhost:50051', [ 32 'credentials' => Grpc\ChannelCredentials::createInsecure(), 33 ]); 34 $request = new Helloworld\HelloRequest(); 35 $request->setName($name); 36 list($reply, $status) = $client->SayHello($request)->wait(); 37 $message = $reply->getMessage(); 38 39 return $message; 40} 41 42$name = !empty($argv[1]) ? $argv[1] : 'world'; 43echo greet($name)."\n"; 44