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// To generate the necessary proto classes: 21// $ protoc --proto_path=../protos --php_out=. --grpc_out=. 22// --plugin=protoc-gen-grpc=../../bins/opt/grpc_php_plugin 23// ../protos/helloworld.proto 24 25require dirname(__FILE__).'/vendor/autoload.php'; 26 27function greet($hostname, $name) 28{ 29 $client = new Helloworld\GreeterClient($hostname, [ 30 'credentials' => Grpc\ChannelCredentials::createInsecure(), 31 ]); 32 $request = new Helloworld\HelloRequest(); 33 $request->setName($name); 34 list($response, $status) = $client->SayHello($request)->wait(); 35 if ($status->code !== Grpc\STATUS_OK) { 36 echo "ERROR: " . $status->code . ", " . $status->details . PHP_EOL; 37 exit(1); 38 } 39 echo $response->getMessage() . PHP_EOL; 40} 41 42$name = !empty($argv[1]) ? $argv[1] : 'world'; 43$hostname = !empty($argv[2]) ? $argv[2] : 'localhost:50051'; 44greet($hostname, $name); 45