update : 2015.11.03
php.shukuma.com

검색:
 
 
Register a concurrent call

Yar_Concurrent_Client::call

(PECL yar >= 1.0.0)

Yar_Concurrent_Client::callRegister 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()

인수

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.

반환값

An unique id, can be used to identified which call it is.

예제

Example #1 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
?>

위 예제의 출력 예시:

참고