(PECL yar >= 1.0.0)
Yar_Client::setOpt — Définit les options du client
Définit une option sur le client. Les options sont évaluées au moment où un appel est émis, elles peuvent donc être modifiées entre deux appels.
name
L'une des constantes YAR_OPT_* :
YAR_OPT_PACKAGER — un nom de packager : php, json ou, si l'extension a été compilée avec le support de msgpack, msgpackYAR_OPT_PERSISTENT — un booléen indiquant si la connexion est persistante (HTTP keep-alive)YAR_OPT_TIMEOUT — un délai d'expiration en millisecondes, qui surcharge yar.timeoutYAR_OPT_CONNECT_TIMEOUT — un délai d'expiration de connexion en millisecondes, qui surcharge yar.connect_timeoutYAR_OPT_HEADER (à partir de 2.0.4) — un tableau de lignes d'en-tête HTTP supplémentairesYAR_OPT_RESOLVE (à partir de 2.1.0) — un tableau d'entrées de résolution de noms d'hôtesYAR_OPT_PROXY (à partir de 2.2.0) — une adresse de proxy HTTPYAR_OPT_PROVIDER (à partir de 2.3.0) — l'identité du fournisseur, jusqu'à 32 octetsYAR_OPT_TOKEN (à partir de 2.3.0) — le jeton d'authentification, jusqu'à 32 octetsvalue
La valeur de l'option. Une valeur invalide émet une alerte et fait
retourner false à l'appel.
Retourne l'objet client lui-même, ce qui permet une interface fluide, ou
false si le nom de l'option est inconnu, si la valeur est invalide, ou
si l'option ne s'applique pas au protocole avec lequel le client a été
créé.
Les conditions qui font retourner false à l'appel émettent également
une alerte :
YAR_OPT_HEADER,
YAR_OPT_RESOLVE et
YAR_OPT_PROXY ne fonctionnent qu'avec le protocole
HTTP ; les utiliser avec un client tcp:// ou
unix:// émet une alerte.
YAR_OPT_RESOLVE nécessite en outre libcurl
>= 7.21.3.
Chaque option attend un type de valeur précis (chaîne, booléen, entier ou tableau), décrit sur la page des constantes.
Exemple #1 Exemple avec Yar_Client::setOpt()
<?php
$client = new Yar_Client("http://api.example.com/operator.php");
/* Définit le délai d'expiration à 1s */
$client->setOpt(YAR_OPT_TIMEOUT, 1000);
/* Définit le packager à JSON */
$client->setOpt(YAR_OPT_PACKAGER, "json");
/* Définit des en-têtes personnalisés */
$client->setOpt(YAR_OPT_HEADER, ["X-Api-Key: value"]);
/* Passe par un proxy HTTP */
$client->setOpt(YAR_OPT_PROXY, "127.0.0.1:8888");
/* Appelle le service distant */
$result = $client->some_method("parameter");
?>