(PECL yar >= 1.0.0)
Yar_Client::setOpt — Establece opciones del cliente
Establece una opción en el cliente. Las opciones se evalúan cuando se emite una llamada, por lo que pueden cambiarse entre llamadas.
name
Una de las constantes YAR_OPT_*:
YAR_OPT_PACKAGER — un nombre de empaquetador: php, json o, si se ha compilado con soporte para msgpack, msgpackYAR_OPT_PERSISTENT — un indicador booleano de conexión persistente (keep-alive de HTTP)YAR_OPT_TIMEOUT — un tiempo de espera en milisegundos, que prevalece sobre yar.timeoutYAR_OPT_CONNECT_TIMEOUT — un tiempo de espera de conexión en milisegundos, que prevalece sobre yar.connect_timeoutYAR_OPT_HEADER (a partir de 2.0.4) — un array de líneas de cabecera HTTP adicionalesYAR_OPT_RESOLVE (a partir de 2.1.0) — un array de entradas de resolución de nombres de hostYAR_OPT_PROXY (a partir de 2.2.0) — una dirección de proxy HTTPYAR_OPT_PROVIDER (a partir de 2.3.0) — la identidad del proveedor, hasta 32 bytesYAR_OPT_TOKEN (a partir de 2.3.0) — el token de autenticación, hasta 32 bytesvalue
El valor de la opción. Un valor no válido genera una advertencia y hace
que la llamada devuelva false.
Devuelve el propio objeto cliente, lo que permite una interfaz fluida, o
false cuando el nombre de la opción es desconocido, el valor no es
válido o la opción no se aplica al protocolo con el que se creó el
cliente.
Las condiciones que hacen que la llamada devuelva false generan también
una advertencia:
YAR_OPT_HEADER,
YAR_OPT_RESOLVE y
YAR_OPT_PROXY solo funcionan con el protocolo HTTP;
usarlas con un cliente tcp:// o
unix:// genera una advertencia.
YAR_OPT_RESOLVE requiere además libcurl
>= 7.21.3.
Cada opción espera un tipo de valor concreto (cadena, booleano, entero o array), descrito en la página de constantes.
Ejemplo #1 Ejemplo de Yar_Client::setOpt()
<?php
$client = new Yar_Client("http://api.example.com/operator.php");
/* Establece el tiempo de espera en 1s */
$client->setOpt(YAR_OPT_TIMEOUT, 1000);
/* Establece el empaquetador en JSON */
$client->setOpt(YAR_OPT_PACKAGER, "json");
/* Establece cabeceras personalizadas */
$client->setOpt(YAR_OPT_HEADER, ["X-Api-Key: value"]);
/* Enruta a través de un proxy HTTP */
$client->setOpt(YAR_OPT_PROXY, "127.0.0.1:8888");
/* llama al servicio remoto */
$result = $client->some_method("parameter");
?>