blob: 986a4bbb85b5652ed39ae882c617b22a3bf0d73b [file] [log] [blame]
Stanley Cheungf8401a72015-05-29 15:09:04 -07001<?php
2/*
3 *
Craig Tiller6169d5f2016-03-31 07:46:18 -07004 * Copyright 2015, Google Inc.
Stanley Cheungf8401a72015-05-29 15:09:04 -07005 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are
9 * met:
10 *
11 * * Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * * Redistributions in binary form must reproduce the above
14 * copyright notice, this list of conditions and the following disclaimer
15 * in the documentation and/or other materials provided with the
16 * distribution.
17 * * Neither the name of Google Inc. nor the names of its
18 * contributors may be used to endorse or promote products derived from
19 * this software without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 *
33 */
34
Stanley Cheung46d94bb2016-05-19 16:47:52 -070035require dirname(__FILE__).'/vendor/autoload.php';
Stanley Cheungc290c112017-01-31 20:29:17 -080036
37// The following includes are needed when using protobuf 3.1.0
38// and will suppress warnings when using protobuf 3.2.0+
39@include_once dirname(__FILE__).'/helloworld.pb.php';
40@include_once dirname(__FILE__).'/helloworld_grpc_pb.php';
Stanley Cheungf8401a72015-05-29 15:09:04 -070041
Stanley Cheung46d94bb2016-05-19 16:47:52 -070042function greet($name)
43{
Stanley Cheungc290c112017-01-31 20:29:17 -080044 $client = new Helloworld\GreeterClient('localhost:50051', [
Stanley Cheung46d94bb2016-05-19 16:47:52 -070045 'credentials' => Grpc\ChannelCredentials::createInsecure(),
46 ]);
Stanley Cheungc290c112017-01-31 20:29:17 -080047 $request = new Helloworld\HelloRequest();
Stanley Cheung46d94bb2016-05-19 16:47:52 -070048 $request->setName($name);
49 list($reply, $status) = $client->SayHello($request)->wait();
50 $message = $reply->getMessage();
51
52 return $message;
Stanley Cheungf8401a72015-05-29 15:09:04 -070053}
54
55$name = !empty($argv[1]) ? $argv[1] : 'world';
Stanley Cheung46d94bb2016-05-19 16:47:52 -070056echo greet($name)."\n";