Enregistre un appel concurrent

# Yar_Concurrent_Client::call

(PECL yar >= 1.0.0)

Yar_Concurrent_Client::call — Enregistre un appel concurrent

### Description

public static function 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.

`error_callback`
  Si cette fonction de rappel est définie, alors Yar l'appellera lorsqu'une erreur surviendra.
`options`
  Un tableau d'options. Voir la liste des constantes.

### Valeurs de retour

Un ID unique ; peut être utilisé pour identifier l'appel.

### Exemples

    <?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");

    // 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"));

    // Ce serveur accepte le packager JSON
    Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));

    // Délai d'attente maximal personnalisé
    Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT => 1));

    // 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() - Envoie tous les appels
- Yar_Concurrent_Client::reset() - Nettoie tous les appels enregistrés
- Yar_Server::__construct() - Enregistre un serveur
- Yar_Server::handle() - Démarre un serveur RPC

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open