Maison > Article > développement back-end > Explication détaillée de la création et de l'appel d'instances d'interface de service Web en PHP
En tant que développeur, si vous souhaitez écrire une interface de service Web ou appeler l'interface de service Web de quelqu'un d'autre, vous devez d'abord comprendre ce qu'est un service Web. Pour faire simple, WebService est un service ouvert par certains sites, ou il peut s'agir d'un service développé par vous, c'est-à-dire certaines méthodes, via l'URL, vous spécifiez un nom de méthode et faites une demande dans le service (méthode). le site recevra votre demande, effectuera un traitement en fonction des paramètres transmis, puis vous renverra les résultats traités sous forme XML. Votre programme analysera les données XML, puis les affichera ou en fera autres. Opération.
Vous devez comprendre lors de l'écriture d'un webservice : la plateforme de services Web de base est XML + HTTP de plus, les éléments de la plateforme de services Web : SOAP (Simple Object Access Protocol ; ), UDDI (Universal Description, Discovery and Integration), WSDL (Web Services Description Language) ; tout webservice comprend un client et un serveur. Ce qui suit utilise des exemples pour expliquer comment utiliser PHP pour écrire une interface de service Web que d'autres peuvent appeler :
Tout d'abord, vous devez créer un fichier .wsdl, alors comment PHP crée-t-il ce fichier . Il existe deux façons d'y parvenir, l'une consiste à le générer directement à l'aide de l'outil Zend Studio ; l'autre consiste à utiliser PHP pour générer automatiquement un fichier wsdl basé sur SoapDiscovery.class.php ; celle que vous choisissez dépend de votre propre situation. J'utilise généralement le premier rapidement. Écrivons comment générer un fichier wsdl à l'aide d'une classe. Tout d'abord, vous devez télécharger le fichier de classe depuis Internet, puis après avoir importé le fichier de classe, regardez le code suivant :
creat_wsdl.php
Le code est le suivant :
<?php include_once('Service.php'); include_once('SoapDiscovery.class.php'); $wsdl=new SoapDiscovery('Service','soap');//第一参数为类名,也是生成wsdl的文件名Service.wsdl,第二个参数是服务的名字可以随便写 $wsdl->getWSDL(); ?>
Exécutez le fichier creat_wsdl.php de cette manière pour générer un fichier wsdl. N'est-ce pas très simple ?
Tout service Web doit être lié à une classe d'implémentation. En d'autres termes, la vraie fonction du fichier wsdl appelé par d'autres est d'implémenter les méthodes dans la classe ; le code suivant est le fichier de classe du serveur
Service.php
Le code est le suivant suit :
<?php class Service { public function Hello() { echo 'hello good'; } public function Add($a,$b) { return $a+$b; } } $server=SoapServer('Service.php',array('soap_version'=>soap_1_2)); $server->setClass('Service');//注册Service类的所有方法 $server->handle();//处理请求 ?>
Après avoir écrit les fichiers serveur et wsdl, vous devez les appeler depuis le client. Veuillez consulter le code d'appel du client :
client.php
Le code est le suivant :
<?php ini_set('soap.wsdl_cache_enabled','0');//关闭缓存 $soap=new SoapClient('http://127.0.0.1/soap/Service.php?wsdl'); echo $soap->Add(1,2); //echo $soap->_soapCall('Add',array(1,2))//或者这样调用也可以 ?>
Il s'agit d'un exemple de code complet pour écrire une interface de service Web. et en appelant, j'espère que cela sera utile à ceux qui ont besoin de PHPer ;
Ensuite, appeler l'interface de service Web d'autres personnes est le code écrit par client.php.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!