(PECL yar >= 1.0.0)
Register a concurrent call
public static int Yar_Concurrent_Client::call ( string $uri, string $method, array $parameters [, callable $callback ] )
Register a RPC call, but won't sent it immediately, it will be send while further call to Yar_Concurrent_Client::loop()
Parameters:
uri
The RPC server URI(http, tcp)
method
Service name(aka the method name)
parameters
Parameters
callback
A function callback, which will be called while the response return.
Returns:
An unique id, can be used to identified which call it is.
Examples:
Yar_Concurrent_Client::call() example
<?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")); // if the callback is not specificed, // callback in loop will be used Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json")); //this server accept json packager Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1)); //custom timeout //The requests are not sent yet ?>
The above example will output something similar to:
See also:
Yar_Concurrent_Client::loop() -
Please login to continue.