Zend_Rest_Client

Zend_Rest_Server

Introduction

Zend_Rest_Server est prévu comme un serveur supportant l'ensemble des fonctionnalités d'un serveur REST.

Utilisation d'un serveur REST

Example #1 Utilisation basique Zend_Rest_Server - Avec des classes

  1. $server = new Zend_Rest_Server();
  2. $server->setClass('Mon_Service_Classe');
  3. $server->handle();

Example #2 Utilisation basique Zend_Rest_Server - Avec des fonctions

  1. /**
  2. * Dit Bonjour
  3. *
  4. * @param string $qui
  5. * @param string $quand
  6. * @return string
  7. */
  8. function ditBonjour($qui, $quand)
  9. {
  10.     return "Bonjour $qui, bonne $quand";
  11. }
  12.  
  13. $server = new Zend_Rest_Server();
  14. $server->addFunction('ditBonjour');
  15. $server->handle();

Appelé un service Zend_Rest_Server

Pour appeler un service Zend_Rest_Server, vous devez fournir un argument de method GET/POST avec une valeur qui est la méthode que vous souhaitez appeler. Vous pouvez alors ajouter tout nombre d'arguments en utilisant le nom de l'argument (c.-à-d. "qui ") ou en utilisant 'arg' suivi de la position numérique de l'argument (c.-à-d. "arg1").

Note: Index numérique
Les arguments numériques utilisent 1 comme point de départ.

Pour appeler le ditBonjour de l'exemple ci-dessus, vous pouvez employer soit :

?method=ditBonjour&qui=Davey&quand=journée

or:

?method=ditBonjour&arg1=Davey&arg2=journée

Envoyer un statut personnalisé

En envoyant des valeurs, pour ajouter un statut personnalisé, vous pouvez envoyer un tableau avec une clé status.

Example #3 Renvoyer un statut personnalisé

  1. /**
  2. * Dit Bonjour
  3. *
  4. * @param string $qui
  5. * @param string $quand
  6. * @return array
  7. */
  8. function ditBonjour($qui, $quand)
  9. {
  10.     return array('msg' => "Une erreur est apparue", 'status' => false);
  11. }
  12.  
  13. $server = new Zend_Rest_Server();
  14. $server->addFunction('ditBonjour');
  15. $server->handle();

Renvoyer une réponse XML personnalisée

Si vous voulez retourner du XML personnalisé, retournez simplement un objet DOMDocument, DOMElement ou SimpleXMLElement.

Example #4 Renvoyer une réponse XML personnalisée

  1. /**
  2. * Dit Bonjour
  3. *
  4. * @param string $who
  5. * @param string $when
  6. * @return SimpleXMLElement
  7. */
  8. function ditBonjour($qui, $quand)
  9. {
  10.     $xml ='<?xml version="1.0" encoding="ISO-8859-1"?>
  11. <mysite>
  12.     <value>Salut $qui! J\'espère que tu passes une bonne $when</value>
  13.     <constant>200</constant>
  14. </mysite>';
  15.  
  16.     $xml = simplexml_load_string($xml);
  17.     return $xml;
  18. }
  19.  
  20. $server = new Zend_Rest_Server();
  21. $server->addFunction('ditBonjour');
  22.  
  23. $server->handle();

La réponse du service sera retournée sans modification au client.


Zend_Rest_Client