uuf6429 / dnode-php-sync-client
PHP的简约dnode客户端
2.1.0
2018-01-27 17:17 UTC
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: ^5.7
- symfony/process: ^3.2
README
PHP的简约 dnode 客户端,仅支持在远程服务器上同步调用方法。
- 它可以调用远程dnode服务器的方 法,并且可以接收响应。
- 它不支持任何其他回调。
- 它不支持完整的 dnode-protocol - 远程服务器的响应不能包含任何回调或链接部分。
查看 dnode-php 以获取对dnode协议更复杂的支持。
目录
安装
推荐且最简单的安装Rune的方式是通过 Composer
composer require uuf6429/dnode-php-sync-client "~2.0"
使用
让我们首先创建一个简单的node.js服务器,该服务器通过dnode公开echo
方法
var dnode = require('dnode'); var port = process.argv[2] || 8080; dnode({ echo: function (data, callback) { callback(null, data); } }).listen(port);
现在,我们可以这样从PHP调用这个echo方法
<?php require_once 'vendor/autoload.php'; $dnode = new \uuf6429\DnodeSyncClient\Dnode(); $connection = $dnode->connect('localhost', 8080); $response = $connection->call('echo', ['Hello, world!']); var_dump($response);
结果
array(2) { [0] => NULL [1] => string(13) "Hello, world!" }
运行测试
要运行所有测试,只需从主目录运行 ./vendor/bin/phpunit
注意: tests/DnodeTest.php
是一个集成测试,它需要一个正在运行的dnode echo服务器。该测试服务器的源代码在 tests/node
目录中。
测试套件将自动安装npm依赖项,并在必要时在8080端口上启动echo服务。