(PECL yar >= 1.0.0)
Yar_Concurrent_Client::call — 注册一个并发调用
$uri
,$method
,$parameters
= ?,$callback
= ?,$error_callback
= ?,$options
= ?注册一个 RPC 调用,但不会立即发送,它会在进一步调用 Yar_Concurrent_Client::loop() 时发送
uri
RPC 服务器 URI(http, tcp)
method
服务名称(也称为方法名称)
parameters
参数
callback
一个函数回调,当响应返回时将被调用。
一个唯一的 ID,可用于识别它是哪个调用。
示例 #1 Yar_Concurrent_Client::call() 示例
<?php
function callback($retval, $callinfo) {
var_dump($retval);
}
function error_callback($type, $error, $callinfo) {
error_log($error);
}
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback");
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters")); // 如果没有指定回调,
// 循环中的回调将被使用
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
// 此服务器接受 json packager
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1));
// 自定义超时
// 请求尚未发送
?>
上面的示例将输出类似以下内容