Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions php/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@ Chat/Chat.php
Chat/PollingChat.php
Glacier2/hello/Hello.php
Ice/hello/Hello.php
Ice/greeter/Greeter.php
Ice/optional/Contact.php
IceDiscovery/hello/Hello.php
21 changes: 21 additions & 0 deletions php/Ice/greeter/Client.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?php
// Copyright (c) ZeroC, Inc.

require_once 'Ice.php';
require_once 'Greeter.php';

// Create an Ice communicator to initialize the Ice runtime. This communicator is destroyed automatically at the end of
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I verified the communicator is indeed destroyed even though there is no call to ->destroy

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

// the script.
$communicator = Ice\initialize();

// GreeterPrxHelper is a class generated by the Slice compiler. We create a Greeter proxy from a communicator and a
// "stringified proxy" with the address of the target object.
// If you run the server on a different computer, replace localhost in the string below with the server's hostname
// or IP address.
$greeter = VisitorCenter\GreeterPrxHelper::createProxy($communicator, 'greeter:tcp -h localhost -p 4061');

// Send a request to the remote object and get the response.
$greeting = $greeter->greet(get_current_user());

echo "$greeting\n";
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume that's the correct syntax. Please check.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it is.

php test.php 
Hello, Jose
jose@studio rpm % cat test.php 
<?php
$greeting = "Hello, Jose";
echo "$greeting\n";

?>
15 changes: 15 additions & 0 deletions php/Ice/greeter/Greeter.ice
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// Copyright (c) ZeroC, Inc.

#pragma once

module VisitorCenter
{
/// Represents a simple greeter.
interface Greeter
{
/// Creates a personalized greeting.
/// @param name The name of the person to greet.
/// @return The greeting.
string greet(string name);
}
}
20 changes: 20 additions & 0 deletions php/Ice/greeter/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Greeter

The Greeter demo illustrates how to write a client application with Ice for PHP.

Ice for PHP supports only client-side applications. As a result, you first need to start a Greeter server implemented
in a language with server-side support, such as Python, Java, or C#.

Then, in a separate window:

- Compile Greeter.ice with the Slice to PHP compiler into Greeter.php

```shell
slice2php Greeter.ice
```

- Run the client application

```shell
php Client.php
```
Loading