article(s) dans votre panier VOIR

Tuto PHP/MySQL | Définition d'un service Web

  • Vidéo 108 sur 158
  • 4h43 de formation
  • 158 leçons

Un contenu flash devrait s'afficher ici. Votre navigateur ne comporte pas de plugin flash, ou il ne s'est pas correctement initialisé.

Vous pouvez télécharger le plugin flash depuis le site d'Adobe à l'adresse suivante : http://get.adobe.com/flashplayer/.

Pour accéder à la suite de cette formation, vous devez vous abonner.
previous
summary
resume
next
play
Définition d'un service Web
00:00 / 02:47
HD
fullscreen
Je m’abonne
à partir de 16,6 € / mois
  • Visionnage en ligne
  • Accès illimité à toutes nos formations
OU
J'achète uniquement
la formation
49,90€
  • Téléchargement + VOD à vie
  • Accès uniquement à cette formation

Sommaire de la formation

Détails de la formation

Nous allons créer un service Web ultra simple qui retourne l'heure UTC.

Dans un premier temps, nous définissons la classe horloge qui contient une seule méthode publique nommée heure(). Cette méthode retourne l'heure au format UTC, en utilisant la fonction date() :

<?php

  class horloge{

    public function heure(){

      return date("e H:i:s");

    }

  }

Le service Web va reposer sur la classe horloge. Pour le mettre en place, quelques instructions PHP suffisent :

try

{

  $server = new SoapServer(null, array('uri' => 'http://localhost/POO/horloge.class.php'));

  $server->setClass("horloge");

  $server->handle();

}

catch(Exception $e)

{

  echo "Exception: " . $e;

}

?>

Dans un premier temps, l'objet SoapServer $server est créé, en précisant l'adresse URI du service :

$server = new SoapServer(null, array('uri' => 'http://localhost/POO/horloge.class.php'));

La syntaxe de l'instanciation d'un l'objet SoapServer se trouve ici : http://www.php.net/manual/en/soapserver.soapserver.php.

Cinq syntaxes sont possibles. Les quatre premières utilisent un fichier WSDL (Web Service Description Language). La cinquième syntaxe n'utilise pas de fichier WSDL. Elle pointe vers l'URI de la classe utilisée pour définir le service Web. Nous utiliserons cette syntaxe. Ici, la classe est stockée dans le fichier horloge.class.php, qui se trouve dans le dossier POO du serveur Web local.

L'instruction suivante indique au serveur le nom de la classe qui gère les requêtes SOAP :

$server->setClass("horloge");

Enfin, la dernière instruction s'occupe de toutes les tâches nécessaires pour gérer les requêtes SOAP :

$server->handle();

L'instanciation de l'objet SoapServer se fait à l'intérieur d'une instruction try. Si une erreur se produit, elle est capturée par l'instruction catch et affichée sur l'écran avec une instruction echo :

  catch(Exception $e)

  {

    echo "Exception: " . $e;

  }

 

Le service est entièrement défini. Sauvegardez-le sous le nom horloge.class.php et sauvegardez-le dans le dossier c:\wamp\www\POO\.