dnode-php-sync-client
Minimalistic dnode client for PHP, supports only synchronous calling of methods on remote server., (*1)
- It can call method on remote dnode server and it can receive response.
- It does not support any other callbacks.
- It does not support full dnode-protocol - response
from remote server must not contain any callbacks or links section.
Look at dnode-php if you are looking
for more complex support of dnode protocol., (*2)
Usage
Lets first start simple node.js server exposing echo method over dnode:, (*3)
var dnode = require('dnode');
var port = process.argv[2] || 8080;
dnode({
echo: function (data, callback) {
callback(null, data);
}
}).listen(port);
Now, we can call this echo method from PHP like this:, (*4)
<?php
require_once "dnode-php-sync-client/DnodeSyncClient.php";
$dnode = new \DnodeSyncClient\Dnode();
$connection = $dnode->connect('localhost', 8080);
$response = $connection->call('echo', array('Hello, world!'));
var_dump($response);
Result:, (*5)
array(2) {
[0] =>
NULL
[1] =>
string(13) "Hello, world!"
}
Requirements
- php 5.3 - namespaces are used
- phpunit - tests were written with phpunit 3.6
Run tests
To run all tests, just run phpunit . from the main directory., (*6)
_test/DnodeTest.php is integration test which needs dnode echo server running.
Sources for this test server are in _test/node directory. You need to first
install dnode dependency by running npm install . from directory _test/dnode.
Once dnode is installed, DnodeTest.php will start the echo service on port
8080 when necessary., (*7)
The usual
We are hiring!, (*8)