Minimalistic dnode client for PHP
PHP JavaScript
Latest commit 3f6b5f8 Oct 16, 2014 Konrad Gibaszewski Reconfiguring Composer's config file
Failed to load latest commit information.
.gitignore initial commit Jun 13, 2012
LICENSE.txt Hopefully more understandable Usage part. Jun 13, 2012


Minimalistic dnode client for PHP, supports only synchronous calling of methods on remote server.

  • 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.


Lets first start simple node.js server exposing echo method over dnode:

var dnode = require('dnode');
var port = process.argv[2] || 8080;
  echo: function (data, callback) {
    callback(null, data);

Now, we can call this echo method from PHP like this:

require_once "dnode-php-sync-client/DnodeSyncClient.php";
$dnode = new \DnodeSyncClient\Dnode();
$connection = $dnode->connect('localhost', 8080);
$response = $connection->call('echo', array('Hello, world!'));


array(2) {
  [0] =>
  [1] =>
  string(13) "Hello, world!"


  • 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.

_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.

The usual

We are hiring!