(PECL yar >= 1.0.0)
Yar_Concurrent_Client::call — Registra uma chamada simultânea
$uri,$method,$parameters = ?,$callback = ?,$error_callback = ?,$options = ?Registra uma chamada RPC, mas não a envia imediatamente, ela será enviada durante uma nova chamada a Yar_Concurrent_Client::loop().
uriO URI do servidor RPC (HTTP, TCP).
methodNome do serviço (também conhecido como nome do método).
parametersParâmetros.
callbackUma função de retorno, que será chamada enquanto a resposta retorna.
error_callbackoptionsUm ID exclusivo pode ser usado para identificar qual é a chamada.
<?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");
// se a função de retorno não for especificada, a função de retorno no loop será usada
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"));
// este servidor aceita empacotador json
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
// tempo limite personalizado
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT => 1));
// As solicitações ainda não foram enviadasO exemplo acima produzirá algo semelhante a: