Zend_Rest_Server.xml 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- EN-Revision: 11089 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.rest.server">
  5. <title>Zend_Rest_Server</title>
  6. <sect2 id="zend.rest.server.introduction">
  7. <title>Introduction</title>
  8. <para>Zend_Rest_Server est prévu comme un serveur supportant l'ensemble des fonctionnalités d'un serveur
  9. REST.</para>
  10. </sect2>
  11. <sect2 id="zend.rest.server.usage">
  12. <title>Utilisation d'un serveur REST</title>
  13. <example id="zend.rest.server.usage.example-1">
  14. <title>Utilisation basique Zend_Rest_Server - Avec des classes</title>
  15. <programlisting role="php"><![CDATA[
  16. $server = new Zend_Rest_Server();
  17. $server->setClass('Mon_Service_Classe');
  18. $server->handle();
  19. ]]></programlisting>
  20. </example>
  21. <example id="zend.rest.server.usage.example-2">
  22. <title>Utilisation basique Zend_Rest_Server - Avec des fonctions</title>
  23. <programlisting role="php"><![CDATA[
  24. /**
  25. * Dit Bonjour
  26. *
  27. * @param string $qui
  28. * @param string $quand
  29. * @return string
  30. */
  31. function ditBonjour($qui, $quand)
  32. {
  33. return "Bonjour $qui, bonne $quand";
  34. }
  35. $server = new Zend_Rest_Server();
  36. $server->addFunction('ditBonjour');
  37. $server->handle();
  38. ]]></programlisting>
  39. </example>
  40. </sect2>
  41. <sect2 id="zend.rest.server.args">
  42. <title>Appelé un service Zend_Rest_Server</title>
  43. <para>Pour appeler un service <classname>Zend_Rest_Server</classname>, vous devez fournir un argument de
  44. <code>method</code> GET/POST avec une valeur qui est la méthode que vous souhaitez appeler. Vous pouvez alors
  45. ajouter tout nombre d'arguments en utilisant le nom de l'argument (c.-à-d. "qui ") ou en utilisant 'arg' suivi
  46. de la position numérique de l'argument (c.-à-d. "arg1").</para>
  47. <note>
  48. <title>Index numérique</title>
  49. <para>Les arguments numériques utilisent 1 comme point de départ.</para>
  50. </note>
  51. <para>Pour appeler le <code>ditBonjour</code> de l'exemple ci-dessus, vous pouvez employer soit :</para>
  52. <para><code>?method=ditBonjour&amp;qui=Davey&amp;quand=journée</code></para>
  53. <para>or:</para>
  54. <para><code>?method=ditBonjour&amp;arg1=Davey&amp;arg2=journée</code></para>
  55. </sect2>
  56. <sect2 id="zend.rest.server.customstatus">
  57. <title>Envoyer un statut personnalisé</title>
  58. <para>En envoyant des valeurs, pour ajouter un statut personnalisé, vous pouvez envoyer un tableau avec une clé
  59. <code>status</code>.</para>
  60. <example id="zend.rest.server.customstatus.example-1">
  61. <title>Renvoyer un statut personnalisé</title>
  62. <programlisting role="php"><![CDATA[
  63. /**
  64. * Dit Bonjour
  65. *
  66. * @param string $qui
  67. * @param string $quand
  68. * @return array
  69. */
  70. function ditBonjour($qui, $quand)
  71. {
  72. return array('msg' => "Une erreur est apparue", 'status' => false);
  73. }
  74. $server = new Zend_Rest_Server();
  75. $server->addFunction('ditBonjour');
  76. $server->handle();
  77. ]]></programlisting>
  78. </example>
  79. </sect2>
  80. <sect2 id="zend.rest.server.customxml">
  81. <title>Renvoyer une réponse XML personnalisée</title>
  82. <para>Si vous voulez retourner du XML personnalisé, retournez simplement un objet <code>DOMDocument</code>,
  83. <code>DOMElement</code> ou <code>SimpleXMLElement</code>.</para>
  84. <example id="zend.rest.server.customxml.example-1">
  85. <title>Renvoyer une réponse XML personnalisée</title>
  86. <programlisting role="php"><![CDATA[
  87. /**
  88. * Dit Bonjour
  89. *
  90. * @param string $who
  91. * @param string $when
  92. * @return SimpleXMLElement
  93. */
  94. function ditBonjour($qui, $quand)
  95. {
  96. $xml ='<?xml version="1.0" encoding="ISO-8859-1"?>
  97. <mysite>
  98. <value>Salut $qui! J\'espère que tu passes une bonne $when</value>
  99. <code>200</code>
  100. </mysite>';
  101. $xml = simplexml_load_string($xml);
  102. return $xml;
  103. }
  104. $server = new Zend_Rest_Server();
  105. $server->addFunction('ditBonjour');
  106. $server->handle();
  107. ]]></programlisting>
  108. </example>
  109. <para>La réponse du service sera retournée sans modification au client.</para>
  110. </sect2>
  111. </sect1>