File: Zend_Rest_Server.xml

package info (click to toggle)
zendframework 1.12.9%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 133,584 kB
  • sloc: xml: 1,311,829; php: 570,173; sh: 170; makefile: 125; sql: 121
file content (153 lines) | stat: -rw-r--r-- 4,404 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<?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&amp;qui=Davey&amp;quand=journée</code></para>

        <para>or:</para>

        <para><code>?method=ditBonjour&amp;arg1=Davey&amp;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>