Yar_Concurrent_Client::call

(PECL yar >= 1.0.0)

Yar_Concurrent_Client::callEnregistre 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.

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