(PECL yar >= 1.0.0)
Yar_Concurrent_Client::call — Enregistre un appel concurrent
$uri
, string $method
, array $parameters
[, callable $callback
] )Enregistre un appel RPC, mais ne l'envoie pas immédiatement ; il sera envoyé pendant l'appel à la méthode Yar_Concurrent_Client::loop()
uri
L'URI du serveur RPC (http, tcp)
method
Nom du service (i.e. le nom de la méthode)
parameters
Paramètres
callback
Une fonction de rappel, qui sera appelée par le retour de la réponse.
Un ID unique ; peut être utilisé pour identifier l'appel.
Exemple #1 Exemple avec 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")); // si la fonction de rappel n'est pas spécifiée,
// la fonction de rappel de la boucle sera utilisée
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
// ce serveur accepte le packager json
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1));
// Délai d'attente maximal personnalisé
//Les requêtes ne sont pas envoyées pour le moment
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :