SCA::getService
(PECL SDO >= 0.5.0)
SCA::getService — Obtient un proxy pour un service
Description
Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.
Examine la cible, et initialise puis retourne un proxy approprié. Si la cible est un composant PHP local, le proxy retourné sera de type SCA_LocalProxy. Si la cible est un composant PHP distant, le proxy retourné sera de type SCA_SoapProxy.
Liste de paramètres
-
target
-
Un chemin absolu ou relatif jusqu'au service cible, ou la description du service (e.g. an URL vers une script de service en json-rpc, un composant PHP, un fichier WSDL, etc.). Une chemin relatif, si spécifié, est résolu relativement à la position du script qui émet l'appel à getService(), et non relativement à include_path, ou le dossier de travail courant.
-
binding
-
L'interface à utiliser (i.e. le protocole) avec le service (e.g binding.jsonrpc pour un service json-rpc). Notez que certaines types de services peuvent être déduits du paramètre de cible (e.g. si l'URL de cible finit par .wsdl alors SCA va supposer qu'il faut utiliser binding.soap). Tout protocole qui peut être spécifié dans une annotation peut être spécifié dans ce paramètre. Par exemple, 'binding.soap' est équivalent à l'annotation '@binding.soap'.
-
config
-
Toute configuration supplémentaire pour le protocole (e.g. array('location' => 'http://example.org')). Toute configuration supplémentaire peut aussi être configurée dans une annotation. Par exemple, 'location' est équivalent à l'annotation '@location', pour configurer la destination du service SOAP.
Valeurs de retour
Un objet SCA_LocalProxy ou SCA_SoapProxy.
Exemples
Exemple #1 Exemple avec SCA::getService()
<?php include 'SCA/SCA.php'; $service = SCA::getService('EmailService.wsdl', 'binding.soap', array('location' => 'http://example.org')); $service->send(...); ?>
L'exemple ci-dessus va afficher :