GithubHelp home page GithubHelp logo

markwillis82 / dnode-php-sync-client Goto Github PK

View Code? Open in Web Editor NEW

This project forked from erasys/dnode-php-sync-client

0.0 2.0 0.0 120 KB

Minimalistic dnode client for PHP

License: Other

PHP 98.01% JavaScript 1.99%

dnode-php-sync-client's Introduction

dnode-php-sync-client

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.

Usage

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

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:

<?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:

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.

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

dnode-php-sync-client's People

Contributors

chv avatar janm6k avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.