uuf6429/dnode-php-sync-client

PHP的简约dnode客户端

2.1.0 2018-01-27 17:17 UTC

This package is auto-updated.

Last update: 2024-09-23 08:13:57 UTC


README

Build Status (TravisCI) Minimum PHP Version License Packagist

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服务。