Un service Web est un système logiciel qui communique sur un réseau qui utilise des formats XML ou JSON basés sur le protocole HTTP standard pour fournir des données. Les services Web permettent l'échange de données et les appels de fonction entre différents systèmes en fournissant une interface HTTP. Les services Web communs incluent une API RESTful, SOAP, XML-RPC, etc.
SOAP (Simple Object Access Protocol) est un protocole de communication basé sur XML. Il résume les messages via le format XML pour réaliser des appels distants entre différents systèmes. Dans PHP, nous pouvons utiliser des extensions de savon pour développer et utiliser les services Web.
Dans Linux Systems, vous pouvez utiliser la commande suivante pour installer l'extension SOAP:
sudo apt-get install php-soap
Dans Windows, ouvrez le fichier php.ini, trouvez la ligne suivante et supprimez les commentaires:
<span class="fun">extension = savon</span>
Redémarrez ensuite le service PHP.
Dans PHP, vous pouvez créer un service Web en utilisant la classe SoapServer. Ce qui suit est un exemple de service Web appelé "calculatrice", qui fournit une méthode ADD pour implémenter la fonction d'ajouter deux nombres:
<?php
class Calculator {
public function add($a, $b) {
return $a + $b;
}
}
$server = new SoapServer(null, array('uri' => 'http://localhost/calculator'));
$server->setClass('Calculator');
$server->handle();
?>
Dans PHP, accédez aux services Web via la classe SoapClient. Voici un exemple d'accès à un service Web SOAP:
<?php
$client = new SoapClient(null, array('uri' => 'http://localhost/calculator'));
$result = $client->__soapCall('add', array(2, 3));
echo "Result: " . $result;
?>
L'API RESTFul est une méthode de communication légère basée sur le protocole HTTP, qui utilise les URL et les verbes HTTP pour passer les données et les fonctions d'appel. En PHP, le framework mince peut être utilisé pour développer des API RESTFULS.
Vous pouvez installer le framework Slim via Composer et exécuter les commandes suivantes:
<span class="fun">Le compositeur a besoin de mince / mince</span>
Ce qui suit est un exemple de création d'une API RESTful à l'aide du framework Slim, fournissant une route "ADD" qui prend en charge les demandes de poste pour implémenter la fonction d'ajouter deux nombres:
<?php
require 'vendor/autoload.php';
$app = new \Slim\App();
$app->post('/add', function ($request, $response, $args) {
$data = $request->getParsedBody();
$a = $data['a'];
$b = $data['b'];
$result = $a + $b;
return $response->withJson(['result' => $result]);
});
$app->run();
?>
Dans PHP, l'API RESTful est appelée en envoyant des demandes HTTP via la bibliothèque Curl. Voici un exemple d'appel de l'API à l'aide de Curl:
<?php
$data = array('a' => 2, 'b' => 3);
$options = array(
CURLOPT_URL => 'http://localhost/add',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($data)
);
$curl = curl_init();
curl_setopt_array($curl, $options);
$result = curl_exec($curl);
curl_close($curl);
$result = json_decode($result, true);
echo "Result: " . $result['result'];
?>
Cet article présente comment utiliser le savon et les technologies API RESTful pour développer et utiliser les services Web pour réaliser des appels distants et un échange de données dans les applications PHP. Grâce à ces méthodes, la flexibilité et l'interopérabilité du système peuvent être améliorées, et la communication et la collaboration entre différentes applications peuvent être facilitées.