SCA::getService

(PECL SDO >= 0.5.0)

SCA::getService Obtener un delegado para un servicio

Descripción

SCA::getService ( string $target [, string $binding [, array $config ]] ) : mixed
Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su funcionamiento, nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Utilícela bajo su propia responsabilidad.

Examina el objetivo e inicializa y devuelve un delegado del tipo apropiado. Si el objetivo es para un componente de PHP local, el delegado devuelto será un SCA_LocalProxy. Si el objeitov es para un fichero WSDL, el delegado devuelto será un SCA_SoapProxy.

Parámetros

target

Una ruta absoluta o relativa al servicio objetivo o descripción de servicio (p.ej. una URL a una descripción de un servicio json-rpc, un componente de PHP , un fichero WSDL, etc.). Una ruta relativa, si se especifica, se resuelve relativa a la ubicación del script que emite la llamada a getService(), y no con include_path o el directorio actual de trabajo.

binding

La vinculación (esto es, el protocolo) a usar para comunicarse con el servicio (p.ej. binding.jsonrpc para un servicio json-rpc). Observe que algunos tipos de servicios se pueden deducir del parámetro target (p.ej. si el parámetro target finaliza con .wsdl, SCA asumirá binding.soap). Cualquier vinculación que pueda ser especificada en una anotación se puede especificar aquí. Por ejemplo, 'binding.soap' es equivalente a la anotación '@binding.soap'.

config

Cualquier propiedad de configuración adiciones para la vinculación (p.ej. array('location' => 'http://example.org')). Cualquier configuración de vinculación que pueda ser especificada en una anotación se puede especificar aquí. Por ejemplo, 'location' es equivalente a la anotación '@location' para configurar la ubicación de un servicio soap objetivo.

Valores devueltos

El SCA_LocalProxy o SCA_SoapProxy.

Ejemplos

Ejemplo #1 Un ejemplo de SCA::getService()

Este ejemplo muestra cómo obtener un delegado para un servicio soap de email descrito por EmailService.wsdl y ubicado en http://example.org.

<?php
include 'SCA/SCA.php';
$service SCA::getService('EmailService.wsdl''binding.soap', array('location' => 'http://example.org'));
$service->send(...);
?>

El resultado del ejemplo sería: