muvon / kiss-json-rpc
KISS实现的JSON RPC客户端
0.5.1
2021-03-28 11:19 UTC
Requires
- muvon/kiss-request-trait: ^0.4.0
Requires (Dev)
- phpunit/phpunit: ^10
README
实现lib以与JSON RPC协议协同工作的KISS版本
使用示例
以下是使用库的快速代码片段
use Muvon\KISS\JsonRpc; $rpc = JsonRpc::creete( 'http://rpc-server.ip.or.host', 'username', 'password' ); // Call one method [$err, $result] = $rpc->call('method', [1, 2, 3]); // Call several methods asycn $multi = [ ['method1', ['param1', 'param2']], ['method2', ['param1', 'param2']], ]; [$err, $results] = $rpc->callMulti($multi); // Call method using magic [$err, $result] = $rpc->method_name(['param1', 'param2']);
方法
create(string $url, ?string $username = null, ?string $password = null)
此方法使用给定参数创建对象实例。如果RPC需要身份验证,您需要传递用户名和密码。否则可以省略。
库发出的所有请求都是POST,JSON,并且Connection: close。
use Muvon\KISS\JsonRpc; $rpc = JsonRpc::create($url);
call(string $method, array $params = [])
此方法对给定的方法和参数进行简单的RPC调用。
它返回一个常见的结构数组:[error, result]。其中error是错误字符串表示或null,result是结果数组或null,甚至在我们有错误并且想要向result变量提供更多信息时,我们可以混合使用它。
[$err, $result] = $rpc->call('getblockcount');
callMulti(array $multi)
此方法与call方法类似,但接收命令列表作为参数,并返回相同的结构,但result包含结果列表。如果其中一个或多个请求失败,我们将抛出Error并在该方法中捕获自身以返回错误消息。
[$err, $results] = $rpc->callMulti( ['getblockhash', [1]], ['getblockhash', [2]], ); // var_dump($results) // [ array of response1, array of response2 ]
魔术方法
您可以通过使用魔术和相同的rpc名称方法来调用任何rpc方法。它将路由您到call方法。
$rpc->getblockhash(1);
setOption(string $opt, mixed $value)
此方法允许您在使用库之前更改可用选项。
可用选项包括
- OPT_CONNECT_TIMEOUT - int 连接到主机的时间
- OPT_TIMEOUT - int 在连接中等待响应的时间
- OPT_SSL_VERIFY - int 默认跳过验证为0或1检查SSL证书
测试覆盖率
- 使用call的简单单一请求
- 简单的多请求
- 发送正确的参数