(PECL SDO >= 0.5.0)
SCA::getService — Obtener un delegado para un servicio
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.
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.
El SCA_LocalProxy o SCA_SoapProxy.
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: