# Yar_Concurrent_Client::call

(PECL yar >= 1.0.0)

Yar_Concurrent_Client::call — Enregistre un appel concurrent

### Description

public static Yar_Concurrent_Client::call(
string `$uri`,
string `$method`,
array `$parameters` = ?,
callable `$callback` = ?,
callable `$error_callback` = ?,
array `$options` = ?
): int

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
?>`

Résultat de l'exemple ci-dessus est similaire à :

### Voir aussi

- Yar_Concurrent_Client::loop() - Envoi tous les appels
- Yar_Concurrent_Client::reset() - Nettoie tous les appels enregistré
- Yar_Server::__construct() - Enregistre un serveur
- Yar_Server::handle() - Démarre un serveur RPC