Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/erasys/dnode-php-sync-client
Minimalistic dnode client for PHP
https://github.com/erasys/dnode-php-sync-client
Last synced: about 12 hours ago
JSON representation
Minimalistic dnode client for PHP
- Host: GitHub
- URL: https://github.com/erasys/dnode-php-sync-client
- Owner: erasys
- License: other
- Created: 2012-06-13T11:12:22.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2017-06-11T23:49:01.000Z (over 7 years ago)
- Last Synced: 2024-04-09T22:00:54.425Z (7 months ago)
- Language: PHP
- Homepage:
- Size: 264 KB
- Stars: 17
- Watchers: 13
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
dnode-php-sync-client
=====================Minimalistic [dnode](https://github.com/substack/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](https://github.com/substack/dnode-protocol) - response
from remote server must not contain any callbacks or links section.Look at [dnode-php](https://github.com/bergie/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:
```javascript
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
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.6Run 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](http://www.erasys.de/public/front_content.php?idcat=9)!