| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.rest.server">
- <title>Zend_Rest_Server</title>
- <sect2 id="zend.rest.server.introduction">
- <title>Introduction</title>
- <para>
- Zend_Rest_Server est prévu comme un serveur supportant l'ensemble des
- fonctionnalités d'un serveur REST.
- </para>
- </sect2>
- <sect2 id="zend.rest.server.usage">
- <title>Utilisation d'un serveur REST</title>
- <example id="zend.rest.server.usage.example-1">
- <title>Utilisation basique Zend_Rest_Server - Avec des classes</title>
- <programlisting language="php"><![CDATA[
- $server = new Zend_Rest_Server();
- $server->setClass('Mon_Service_Classe');
- $server->handle();
- ]]></programlisting>
- </example>
- <example id="zend.rest.server.usage.example-2">
- <title>Utilisation basique Zend_Rest_Server - Avec des fonctions</title>
- <programlisting language="php"><![CDATA[
- /**
- * Dit Bonjour
- *
- * @param string $qui
- * @param string $quand
- * @return string
- */
- function ditBonjour($qui, $quand)
- {
- return "Bonjour $qui, bonne $quand";
- }
- $server = new Zend_Rest_Server();
- $server->addFunction('ditBonjour');
- $server->handle();
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.rest.server.args">
- <title>Appelé un service Zend_Rest_Server</title>
- <para>
- Pour appeler un service <classname>Zend_Rest_Server</classname>, vous devez
- fournir un argument de <code>method</code> 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").
- </para>
- <note>
- <title>Index numérique</title>
- <para>Les arguments numériques utilisent 1 comme point de départ.</para>
- </note>
- <para>
- Pour appeler le <code>ditBonjour</code> de l'exemple ci-dessus, vous pouvez
- employer soit :
- </para>
- <para><code>?method=ditBonjour&qui=Davey&quand=journée</code></para>
- <para>or:</para>
- <para><code>?method=ditBonjour&arg1=Davey&arg2=journée</code></para>
- </sect2>
- <sect2 id="zend.rest.server.customstatus">
- <title>Envoyer un statut personnalisé</title>
- <para>
- En envoyant des valeurs, pour ajouter un statut personnalisé, vous pouvez envoyer
- un tableau avec une clé <code>status</code>.
- </para>
- <example id="zend.rest.server.customstatus.example-1">
- <title>Renvoyer un statut personnalisé</title>
- <programlisting language="php"><![CDATA[
- /**
- * Dit Bonjour
- *
- * @param string $qui
- * @param string $quand
- * @return array
- */
- function ditBonjour($qui, $quand)
- {
- return array('msg' => "Une erreur est apparue", 'status' => false);
- }
- $server = new Zend_Rest_Server();
- $server->addFunction('ditBonjour');
- $server->handle();
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.rest.server.customxml">
- <title>Renvoyer une réponse XML personnalisée</title>
- <para>
- Si vous voulez retourner du <acronym>XML</acronym> personnalisé, retournez simplement un objet
- <code>DOMDocument</code>, <code>DOMElement</code> ou
- <code>SimpleXMLElement</code>.
- </para>
- <example id="zend.rest.server.customxml.example-1">
- <title>Renvoyer une réponse XML personnalisée</title>
- <programlisting language="php"><![CDATA[
- /**
- * Dit Bonjour
- *
- * @param string $who
- * @param string $when
- * @return SimpleXMLElement
- */
- function ditBonjour($qui, $quand)
- {
- $xml ='<?xml version="1.0" encoding="ISO-8859-1"?>
- <mysite>
- <value>Salut $qui! J\'espère que tu passes une bonne $when</value>
- <constant>200</constant>
- </mysite>';
- $xml = simplexml_load_string($xml);
- return $xml;
- }
- $server = new Zend_Rest_Server();
- $server->addFunction('ditBonjour');
- $server->handle();
- ]]></programlisting>
- </example>
- <para>La réponse du service sera retournée sans modification au client.</para>
- </sect2>
- </sect1>
|