Médiaforma

PHP MySQL – Définition d’un service Web

Print Friendly

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\.

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply