Yar_Concurrent_Client::call
(PECL yar >= 1.0.0)
Yar_Concurrent_Client::call — Enregistre un appel concurrent
Description
public static int Yar_Concurrent_Client::call
( string
$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()
Liste de paramètres
-
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.
Valeurs de retour
Un ID unique ; peut être utilisé pour identifier l'appel.
Exemples
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 à :
Voir aussi
- Yar_Concurrent_Client::loop() - Envoi tous les appels
- Yar_Server::__construct() - Enregistre un serveur
- Yar_Server::handle() - Démarre un serveur RPC