Zend_Rest_Server.xml 4.3 KB

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