Maison > développement back-end > tutoriel php > Explication détaillée de la création et de l'appel d'instances d'interface de service Web en PHP

Explication détaillée de la création et de l'appel d'instances d'interface de service Web en PHP

伊谢尔伦
Libérer: 2023-03-12 13:16:01
original
2832 Les gens l'ont consulté

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(&#39;Service.php&#39;);
include_once(&#39;SoapDiscovery.class.php&#39;);
$wsdl=new SoapDiscovery(&#39;Service&#39;,&#39;soap&#39;);//第一参数为类名,也是生成wsdl的文件名Service.wsdl,第二个参数是服务的名字可以随便写
$wsdl->getWSDL();
?>
Copier après la connexion


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 &#39;hello good&#39;;
}
public function Add($a,$b)
{
return $a+$b;
}
}
$server=SoapServer(&#39;Service.php&#39;,array(&#39;soap_version&#39;=>soap_1_2));
$server->setClass(&#39;Service&#39;);//注册Service类的所有方法
$server->handle();//处理请求
?>
Copier après la connexion

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(&#39;soap.wsdl_cache_enabled&#39;,&#39;0&#39;);//关闭缓存
$soap=new SoapClient(&#39;http://127.0.0.1/soap/Service.php?wsdl&#39;);
echo $soap->Add(1,2);
//echo $soap->_soapCall(&#39;Add&#39;,array(1,2))//或者这样调用也可以
?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal