297 |
jpm |
1 |
<html>
|
|
|
2 |
<head>
|
|
|
3 |
<title>File Source for RestServeur.php</title>
|
|
|
4 |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
|
|
|
5 |
<link rel="stylesheet" type="text/css" href="../media/style.css">
|
|
|
6 |
</head>
|
|
|
7 |
<body>
|
|
|
8 |
|
|
|
9 |
<table border="0" cellspacing="0" cellpadding="0" height="48" width="100%">
|
|
|
10 |
<tr>
|
|
|
11 |
<td class="header_top">Framework</td>
|
|
|
12 |
</tr>
|
|
|
13 |
<tr><td class="header_line"><img src="../media/empty.png" width="1" height="1" border="0" alt="" /></td></tr>
|
|
|
14 |
<tr>
|
|
|
15 |
<td class="header_menu">
|
|
|
16 |
|
|
|
17 |
|
|
|
18 |
[ <a href="../classtrees_Framework.html" class="menu">class tree: Framework</a> ]
|
|
|
19 |
[ <a href="../elementindex_Framework.html" class="menu">index: Framework</a> ]
|
|
|
20 |
[ <a href="../elementindex.html" class="menu">all elements</a> ]
|
|
|
21 |
</td>
|
|
|
22 |
</tr>
|
|
|
23 |
<tr><td class="header_line"><img src="../media/empty.png" width="1" height="1" border="0" alt="" /></td></tr>
|
|
|
24 |
</table>
|
|
|
25 |
|
|
|
26 |
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
|
|
27 |
<tr valign="top">
|
|
|
28 |
<td width="200" class="menu">
|
|
|
29 |
<div id="todolist">
|
|
|
30 |
<p><a href="../todolist.html">Todo List</a></p>
|
|
|
31 |
</div>
|
|
|
32 |
<b>Packages:</b><br />
|
|
|
33 |
<a href="../li_Framework.html">Framework</a><br />
|
|
|
34 |
<a href="../li_Utilitaire.html">Utilitaire</a><br />
|
|
|
35 |
<a href="../li_Zend_OpenId.html">Zend_OpenId</a><br />
|
|
|
36 |
<br /><br />
|
|
|
37 |
|
|
|
38 |
|
|
|
39 |
</td>
|
|
|
40 |
<td>
|
|
|
41 |
<table cellpadding="10" cellspacing="0" width="100%" border="0"><tr><td valign="top">
|
|
|
42 |
|
|
|
43 |
<h1 align="center">Source for file RestServeur.php</h1>
|
|
|
44 |
<p>Documentation is available at <a href="../Framework/_RestServeur.php.html">RestServeur.php</a></p>
|
|
|
45 |
<div class="src-code">
|
|
|
46 |
<ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li>
|
|
|
47 |
<li><div class="src-line"><a name="a2"></a><span class="src-doc">/**</span></div></li>
|
|
|
48 |
<li><div class="src-line"><a name="a3"></a><span class="src-doc"> * Classe principale gérant les services web de type (@link(REST, http://fr.wikipedia.org/wiki/Rest).</span></div></li>
|
|
|
49 |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * </span></div></li>
|
|
|
50 |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * Elle contient :</span></div></li>
|
|
|
51 |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * - les constantes indiquant les différentes (@link(méthode HTTP, http://fr.wikipedia.org/wiki/Http) prises en compte.</span></div></li>
|
|
|
52 |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * - les @link(codes HTTP des réponses, http://fr.wikipedia.org/wiki/Liste_des_codes_HTTP)</span></div></li>
|
|
|
53 |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span></div></li>
|
|
|
54 |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * Ce serveur REST accepte 4 types de méthodes HTTP : GET, PUT, POST, DELETE.</span></div></li>
|
|
|
55 |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * GET et POST ne pose généralement pas de problème pour les clients HTTP mais ce n'est pas forcément le cas pour PUT et DELETE.</span></div></li>
|
|
|
56 |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * Vous pouvez donc pour réaliser :</span></div></li>
|
|
|
57 |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * - DELETE : utiliser la méthode POST avec action=DELETE dans le corps de la requête.</span></div></li>
|
|
|
58 |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * - PUT : utiliser la méthode POST avec une url ne contenant aucune indication de ressource.</span></div></li>
|
|
|
59 |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * Une autre solution consiste à utiliser n'importe quelle méthode et à ajouter l'entête "X_HTTP_METHOD_OVERRIDE" avec pour</span></div></li>
|
|
|
60 |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * valeur le nom de la méthode que vous souhaitez utiliser. Exemple d'entête : "X_HTTP_METHOD_OVERRIDE: PUT".</span></div></li>
|
|
|
61 |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * Exemple : <code>curl -v -v -H "X_HTTP_METHOD_OVERRIDE: DELETE" "http://www.mondomaine.org/services/apiVersion/[mon-service]/"</code></span></div></li>
|
|
|
62 |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * Cela fonctionne avec Apache.</span></div></li>
|
|
|
63 |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span></div></li>
|
|
|
64 |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> * Les classes des services web doivent avoir un nom au format ChatMot "MonService" et être appelée dans l'url par le même nom</span></div></li>
|
|
|
65 |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * en minuscule où les mots sont séparés par des tirets "mon-service".</span></div></li>
|
|
|
66 |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> * </span></div></li>
|
|
|
67 |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> * Paramètres liés dans config.ini :</span></div></li>
|
|
|
68 |
<li><div class="src-line"><a name="a23"></a><span class="src-doc"> * - serveur.baseURL : morceau de l'url pour appeler le serveur relative au domaine. Exemple : pour http://www.tela-botanica.org/mon_serveur/</span></div></li>
|
|
|
69 |
<li><div class="src-line"><a name="a24"></a><span class="src-doc"> * mettre : "/mon_serveur/"</span></div></li>
|
|
|
70 |
<li><div class="src-line"><a name="a25"></a><span class="src-doc"> * - serveur.baseAlternativeURL : sur le même principe que ci-dessus permet d'affecter une deuxième url (pour gérer des raccourci via htaccess)</span></div></li>
|
|
|
71 |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> * </span></div></li>
|
|
|
72 |
<li><div class="src-line"><a name="a27"></a><span class="src-doc"> * Encodage en entrée : utf8</span></div></li>
|
|
|
73 |
<li><div class="src-line"><a name="a28"></a><span class="src-doc"> * Encodage en sortie : utf8</span></div></li>
|
|
|
74 |
<li><div class="src-line"><a name="a29"></a><span class="src-doc"> * </span></div></li>
|
|
|
75 |
<li><div class="src-line"><a name="a30"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> Php 5.2</span></div></li>
|
|
|
76 |
<li><div class="src-line"><a name="a31"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li>
|
|
|
77 |
<li><div class="src-line"><a name="a32"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li>
|
|
|
78 |
<li><div class="src-line"><a name="a33"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li>
|
|
|
79 |
<li><div class="src-line"><a name="a34"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> GPL v3 <http://www.gnu.org/licenses/gpl.txt></span></div></li>
|
|
|
80 |
<li><div class="src-line"><a name="a35"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt></span></div></li>
|
|
|
81 |
<li><div class="src-line"><a name="a36"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li>
|
300 |
jpm |
82 |
<li><div class="src-line"><a name="a37"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id: RestServeur.php 299 2011-01-18 14:03:46Z jpm $</span></div></li>
|
297 |
jpm |
83 |
<li><div class="src-line"><a name="a38"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li>
|
|
|
84 |
<li><div class="src-line"><a name="a39"></a><span class="src-doc"> */</span></div></li>
|
|
|
85 |
<li><div class="src-line"><a name="a40"></a><span class="src-comm">// TODO : gerer les retours : dans ce controleur : code retour et envoi ...</span></div></li>
|
|
|
86 |
<li><div class="src-line"><a name="a41"></a><span class="src-key">class </span><a href="../Framework/RestServeur.html">RestServeur</a> <span class="src-sym">{</span></div></li>
|
|
|
87 |
<li><div class="src-line"><a name="a42"></a> </div></li>
|
|
|
88 |
<li><div class="src-line"><a name="a43"></a> <span class="src-doc">/** Nom de la méthode appelée dans un service pour éxécuter une requête de type GET. */</span></div></li>
|
|
|
89 |
<li><div class="src-line"><a name="a44"></a> <span class="src-key">const </span><span class="src-id">METHODE_GET </span>= <span class="src-str">'consulter'</span><span class="src-sym">;</span></div></li>
|
|
|
90 |
<li><div class="src-line"><a name="a45"></a> </div></li>
|
|
|
91 |
<li><div class="src-line"><a name="a46"></a> <span class="src-doc">/** Nom de la méthode appelée dans un service pour éxécuter une requête de type POST. */</span></div></li>
|
|
|
92 |
<li><div class="src-line"><a name="a47"></a> <span class="src-key">const </span><span class="src-id">METHODE_POST </span>= <span class="src-str">'modifier'</span><span class="src-sym">;</span></div></li>
|
|
|
93 |
<li><div class="src-line"><a name="a48"></a> </div></li>
|
|
|
94 |
<li><div class="src-line"><a name="a49"></a> <span class="src-doc">/** Nom de la méthode appelée dans un service pour éxécuter une requête de type DELETE. */</span></div></li>
|
|
|
95 |
<li><div class="src-line"><a name="a50"></a> <span class="src-key">const </span><span class="src-id">METHODE_DELETE </span>= <span class="src-str">'supprimer'</span><span class="src-sym">;</span></div></li>
|
|
|
96 |
<li><div class="src-line"><a name="a51"></a> </div></li>
|
|
|
97 |
<li><div class="src-line"><a name="a52"></a> <span class="src-doc">/** Nom de la méthode appelée dans un service pour éxécuter une requête de type PUT. */</span></div></li>
|
|
|
98 |
<li><div class="src-line"><a name="a53"></a> <span class="src-key">const </span><span class="src-id">METHODE_PUT </span>= <span class="src-str">'ajouter'</span><span class="src-sym">;</span></div></li>
|
|
|
99 |
<li><div class="src-line"><a name="a54"></a> </div></li>
|
|
|
100 |
<li><div class="src-line"><a name="a55"></a> <span class="src-doc">/** Code HTTP 200 indiquant le succès de l'accès à un service web par la méthode GET.</span></div></li>
|
|
|
101 |
<li><div class="src-line"><a name="a56"></a><span class="src-doc"> * L'utiliser lors d'une requète de type GET (consulter) pour indiquer le succès de l'opération.</span></div></li>
|
|
|
102 |
<li><div class="src-line"><a name="a57"></a><span class="src-doc"> * Sera renvoyée par défaut par PHP. */</span></div></li>
|
|
|
103 |
<li><div class="src-line"><a name="a57"></a> </div></li>
|
|
|
104 |
<li><div class="src-line"><a name="a58"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_OK </span>= <span class="src-str">'200'</span><span class="src-sym">;</span></div></li>
|
|
|
105 |
<li><div class="src-line"><a name="a59"></a> </div></li>
|
|
|
106 |
<li><div class="src-line"><a name="a60"></a> <span class="src-doc">/** Code HTTP 201 indiquant que l'accès à un service web est un succès et que la ressource a été créée ou modifié.</span></div></li>
|
|
|
107 |
<li><div class="src-line"><a name="a61"></a><span class="src-doc"> * L'utiliser lors d'une requète de type PUT (ajouter) ou POST (modifier) pour indiquer le succès de l'opération. */</span></div></li>
|
|
|
108 |
<li><div class="src-line"><a name="a61"></a> </div></li>
|
|
|
109 |
<li><div class="src-line"><a name="a62"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_CREATION_OK </span>= <span class="src-str">'201'</span><span class="src-sym">;</span></div></li>
|
|
|
110 |
<li><div class="src-line"><a name="a63"></a> </div></li>
|
|
|
111 |
<li><div class="src-line"><a name="a64"></a> <span class="src-doc">/** Code HTTP 204 indique que l'accès à un service web est un succès et qu'il n'y a pas de contenu à renvoyer.</span></div></li>
|
|
|
112 |
<li><div class="src-line"><a name="a65"></a><span class="src-doc"> * L'utiliser lors d'une requète de type DELETE (supprimer) pour indiquer le succès de l'opération. */</span></div></li>
|
|
|
113 |
<li><div class="src-line"><a name="a65"></a> </div></li>
|
|
|
114 |
<li><div class="src-line"><a name="a66"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_SUPPRESSION_OK </span>= <span class="src-str">'204'</span><span class="src-sym">;</span></div></li>
|
|
|
115 |
<li><div class="src-line"><a name="a67"></a> </div></li>
|
|
|
116 |
<li><div class="src-line"><a name="a68"></a> <span class="src-doc">/** Code HTTP 400 indique que les paramètres envoyés au service contiennent des erreurs.</span></div></li>
|
|
|
117 |
<li><div class="src-line"><a name="a69"></a><span class="src-doc"> * L'utiliser pour indiquer l'échec de l'accès au service. La réponse pourra contenir un message expliquant la source</span></div></li>
|
|
|
118 |
<li><div class="src-line"><a name="a70"></a><span class="src-doc"> * de l'erreur. */</span></div></li>
|
|
|
119 |
<li><div class="src-line"><a name="a70"></a> </div></li>
|
|
|
120 |
<li><div class="src-line"><a name="a71"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_MAUVAISE_REQUETE </span>= <span class="src-str">'400'</span><span class="src-sym">;</span></div></li>
|
|
|
121 |
<li><div class="src-line"><a name="a72"></a> </div></li>
|
|
|
122 |
<li><div class="src-line"><a name="a73"></a> <span class="src-doc">/** Code HTTP 401 indiquant que l'accès à un service web est refusé car l'authentification (obligatoire) a échoué pour</span></div></li>
|
|
|
123 |
<li><div class="src-line"><a name="a74"></a><span class="src-doc"> * accéder à la ressource. */</span></div></li>
|
|
|
124 |
<li><div class="src-line"><a name="a74"></a> </div></li>
|
|
|
125 |
<li><div class="src-line"><a name="a75"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_ACCES_NON_AUTORISE </span>= <span class="src-str">'401'</span><span class="src-sym">;</span></div></li>
|
|
|
126 |
<li><div class="src-line"><a name="a76"></a> </div></li>
|
|
|
127 |
<li><div class="src-line"><a name="a77"></a> <span class="src-doc">/** Code HTTP 404 indiquant que la ressource indiquée par l'url est introuvable. */</span></div></li>
|
|
|
128 |
<li><div class="src-line"><a name="a78"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_RESSOURCE_INTROUVABLE </span>= <span class="src-str">'404'</span><span class="src-sym">;</span></div></li>
|
|
|
129 |
<li><div class="src-line"><a name="a79"></a> </div></li>
|
|
|
130 |
<li><div class="src-line"><a name="a80"></a> <span class="src-doc">/** Code HTTP 405 indiquant soit :</span></div></li>
|
|
|
131 |
<li><div class="src-line"><a name="a81"></a><span class="src-doc"> * - que le service web ne possède pas d'accès la ressource correspondant à la méthode HTTP employée.</span></div></li>
|
|
|
132 |
<li><div class="src-line"><a name="a82"></a><span class="src-doc"> * - que la méthode HTTP enployée n'est pas en accord avec la ressource indiquée par l'url. */</span></div></li>
|
|
|
133 |
<li><div class="src-line"><a name="a82"></a> </div></li>
|
|
|
134 |
<li><div class="src-line"><a name="a83"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_METHODE_NON_AUTORISE </span>= <span class="src-str">'405'</span><span class="src-sym">;</span></div></li>
|
|
|
135 |
<li><div class="src-line"><a name="a84"></a> </div></li>
|
|
|
136 |
<li><div class="src-line"><a name="a85"></a> <span class="src-doc">/** Code d'erreur HTTP 409 indiquant qu'un conflit est survenu vis à vis de la ressource.</span></div></li>
|
|
|
137 |
<li><div class="src-line"><a name="a86"></a><span class="src-doc"> * Par exemple, essayer de créer deux fois la même ressource ou bien tenter de modifier une ressource qui a été modifiée par</span></div></li>
|
|
|
138 |
<li><div class="src-line"><a name="a87"></a><span class="src-doc"> * ailleurs. */</span></div></li>
|
|
|
139 |
<li><div class="src-line"><a name="a87"></a> </div></li>
|
|
|
140 |
<li><div class="src-line"><a name="a88"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_CONFLIT </span>= <span class="src-str">'409'</span><span class="src-sym">;</span></div></li>
|
|
|
141 |
<li><div class="src-line"><a name="a89"></a> </div></li>
|
|
|
142 |
<li><div class="src-line"><a name="a90"></a> <span class="src-doc">/** Code HTTP 411 indiquant que des paramètres passés dans le contenu de la requête sont nécessaires au service. */</span></div></li>
|
|
|
143 |
<li><div class="src-line"><a name="a91"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_CONTENU_REQUIS </span>= <span class="src-str">'411'</span><span class="src-sym">;</span></div></li>
|
|
|
144 |
<li><div class="src-line"><a name="a92"></a> </div></li>
|
|
|
145 |
<li><div class="src-line"><a name="a93"></a> <span class="src-doc">/** Code d'erreur HTTP 500 Internal Server Error.</span></div></li>
|
|
|
146 |
<li><div class="src-line"><a name="a94"></a><span class="src-doc"> * L'utiliser quand le serveur ou un service soulève une erreur ou une exception. */</span></div></li>
|
|
|
147 |
<li><div class="src-line"><a name="a94"></a> </div></li>
|
|
|
148 |
<li><div class="src-line"><a name="a95"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_ERREUR </span>= <span class="src-str">'500'</span><span class="src-sym">;</span></div></li>
|
|
|
149 |
<li><div class="src-line"><a name="a96"></a> </div></li>
|
|
|
150 |
<li><div class="src-line"><a name="a97"></a> <span class="src-doc">/** Mettre à true pour activer l'affichage des messages d'erreurs et de débogage.</span></div></li>
|
|
|
151 |
<li><div class="src-line"><a name="a98"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">boolean </span><span class="src-doc">*/</span></div></li>
|
|
|
152 |
<li><div class="src-line"><a name="a99"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$debogageActivation </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li>
|
|
|
153 |
<li><div class="src-line"><a name="a100"></a> </div></li>
|
|
|
154 |
<li><div class="src-line"><a name="a101"></a> <span class="src-doc">/** Indiquer le mode de débogage à utiliser (@see Debug).</span></div></li>
|
|
|
155 |
<li><div class="src-line"><a name="a102"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">string </span><span class="src-doc">*/</span></div></li>
|
|
|
156 |
<li><div class="src-line"><a name="a103"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$debogageMode </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li>
|
|
|
157 |
<li><div class="src-line"><a name="a104"></a> </div></li>
|
|
|
158 |
<li><div class="src-line"><a name="a105"></a> <span class="src-doc">/** La méthode de la requête HTTP utilisée.</span></div></li>
|
|
|
159 |
<li><div class="src-line"><a name="a106"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">string </span><span class="src-doc">*/</span></div></li>
|
|
|
160 |
<li><div class="src-line"><a name="a107"></a> <span class="src-key">private </span><span class="src-var">$methode </span>= <span class="src-str">'GET'</span><span class="src-sym">;</span></div></li>
|
|
|
161 |
<li><div class="src-line"><a name="a108"></a> </div></li>
|
|
|
162 |
<li><div class="src-line"><a name="a109"></a> <span class="src-doc">/** Le contenu brut du corps de la requête HTTP (s'il y en a).</span></div></li>
|
|
|
163 |
<li><div class="src-line"><a name="a110"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span><span class="src-doc">*/</span></div></li>
|
|
|
164 |
<li><div class="src-line"><a name="a111"></a> <span class="src-key">private </span><span class="src-var">$requeteDonnees </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li>
|
|
|
165 |
<li><div class="src-line"><a name="a112"></a> </div></li>
|
|
|
166 |
<li><div class="src-line"><a name="a113"></a> <span class="src-doc">/** Le contenu sous forme de tableau de paires clés-valeurs du corps de la requête HTTP (s'il y en a).</span></div></li>
|
|
|
167 |
<li><div class="src-line"><a name="a114"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span><span class="src-doc">*/</span></div></li>
|
|
|
168 |
<li><div class="src-line"><a name="a115"></a> <span class="src-key">private </span><span class="src-var">$requeteDonneesParsees </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li>
|
|
|
169 |
<li><div class="src-line"><a name="a116"></a> </div></li>
|
|
|
170 |
<li><div class="src-line"><a name="a117"></a> <span class="src-doc">/** Version de l'API demandée.</span></div></li>
|
|
|
171 |
<li><div class="src-line"><a name="a118"></a><span class="src-doc"> * Ex. http://www.mondomaine.org/services/[apiVersion]/mon-service/</span></div></li>
|
|
|
172 |
<li><div class="src-line"><a name="a119"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">mixed </span><span class="src-doc">Généralement deux nombres séparés par un point. Ex. : 1.0</span></div></li>
|
|
|
173 |
<li><div class="src-line"><a name="a120"></a><span class="src-doc"> */</span></div></li>
|
|
|
174 |
<li><div class="src-line"><a name="a121"></a> <span class="src-key">private </span><span class="src-var">$apiVersion </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li>
|
|
|
175 |
<li><div class="src-line"><a name="a122"></a> </div></li>
|
|
|
176 |
<li><div class="src-line"><a name="a123"></a> <span class="src-doc">/** Nom du service demandé.</span></div></li>
|
|
|
177 |
<li><div class="src-line"><a name="a124"></a><span class="src-doc"> * Ex. http://www.mondomaine.org/services/apiVersion/[mon-service]/</span></div></li>
|
|
|
178 |
<li><div class="src-line"><a name="a125"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">string </span><span class="src-doc">par défaut vaut null.</span></div></li>
|
|
|
179 |
<li><div class="src-line"><a name="a126"></a><span class="src-doc"> */</span></div></li>
|
|
|
180 |
<li><div class="src-line"><a name="a127"></a> <span class="src-key">private </span><span class="src-var">$service </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li>
|
|
|
181 |
<li><div class="src-line"><a name="a128"></a> </div></li>
|
|
|
182 |
<li><div class="src-line"><a name="a129"></a> <span class="src-doc">/** Morceaux de l'url servant à préciser la ressource concerné pour le service demandé.</span></div></li>
|
|
|
183 |
<li><div class="src-line"><a name="a130"></a><span class="src-doc"> * Ex. http://www.mondomaine.org/services/apiVersion/mon-service/[maRessource/maSousResource...]</span></div></li>
|
|
|
184 |
<li><div class="src-line"><a name="a131"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li>
|
|
|
185 |
<li><div class="src-line"><a name="a132"></a><span class="src-doc"> */</span></div></li>
|
|
|
186 |
<li><div class="src-line"><a name="a133"></a> <span class="src-key">private </span><span class="src-var">$ressources </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
187 |
<li><div class="src-line"><a name="a134"></a> </div></li>
|
|
|
188 |
<li><div class="src-line"><a name="a135"></a> <span class="src-doc">/** Partie de l'url situé après le '?' servant à paramétrer le service demandé.</span></div></li>
|
|
|
189 |
<li><div class="src-line"><a name="a136"></a><span class="src-doc"> * Ex. http://www.mondomaine.org/services/apiVersion/mon-service?monParametre1=maValeur1&monParametre2=maValeur2</span></div></li>
|
|
|
190 |
<li><div class="src-line"><a name="a137"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li>
|
|
|
191 |
<li><div class="src-line"><a name="a138"></a><span class="src-doc"> */</span></div></li>
|
|
|
192 |
<li><div class="src-line"><a name="a139"></a> <span class="src-key">private </span><span class="src-var">$parametres </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
193 |
<li><div class="src-line"><a name="a140"></a> </div></li>
|
|
|
194 |
<li><div class="src-line"><a name="a141"></a> <span class="src-doc">/** Tableau contenant les paramètres de configuration du serveur.</span></div></li>
|
|
|
195 |
<li><div class="src-line"><a name="a142"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li>
|
|
|
196 |
<li><div class="src-line"><a name="a143"></a><span class="src-doc"> */</span></div></li>
|
|
|
197 |
<li><div class="src-line"><a name="a144"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$config </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
198 |
<li><div class="src-line"><a name="a145"></a> </div></li>
|
|
|
199 |
<li><div class="src-line"><a name="a146"></a> <span class="src-doc">/** Codes HTTP. */</span></div></li>
|
|
|
200 |
<li><div class="src-line"><a name="a147"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$http10 </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li>
|
|
|
201 |
<li><div class="src-line"><a name="a148"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_OK </span>=> <span class="src-str">'OK'</span><span class="src-sym">, </span></div></li>
|
|
|
202 |
<li><div class="src-line"><a name="a149"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_CREATION_OK </span>=> <span class="src-str">'Created'</span><span class="src-sym">,</span></div></li>
|
|
|
203 |
<li><div class="src-line"><a name="a150"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_SUPPRESSION_OK </span>=> <span class="src-str">'No Content'</span><span class="src-sym">,</span></div></li>
|
|
|
204 |
<li><div class="src-line"><a name="a151"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_MAUVAISE_REQUETE </span>=> <span class="src-str">'Bad Request'</span><span class="src-sym">,</span></div></li>
|
|
|
205 |
<li><div class="src-line"><a name="a152"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_ACCES_NON_AUTORISE </span>=> <span class="src-str">'Unauthorized'</span><span class="src-sym">,</span></div></li>
|
|
|
206 |
<li><div class="src-line"><a name="a153"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_RESSOURCE_INTROUVABLE </span>=> <span class="src-str">'Not Found'</span><span class="src-sym">,</span></div></li>
|
|
|
207 |
<li><div class="src-line"><a name="a154"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_METHODE_NON_AUTORISE </span>=> <span class="src-str">'Method Not Allowed'</span><span class="src-sym">,</span></div></li>
|
|
|
208 |
<li><div class="src-line"><a name="a155"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_CONFLIT </span>=> <span class="src-str">'Conflict'</span><span class="src-sym">,</span></div></li>
|
|
|
209 |
<li><div class="src-line"><a name="a156"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_CONTENU_REQUIS </span>=> <span class="src-str">'Length Required'</span><span class="src-sym">,</span></div></li>
|
|
|
210 |
<li><div class="src-line"><a name="a157"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_ERREUR </span>=> <span class="src-str">'Internal Server Error'</span></div></li>
|
|
|
211 |
<li><div class="src-line"><a name="a158"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
212 |
<li><div class="src-line"><a name="a159"></a> </div></li>
|
|
|
213 |
<li><div class="src-line"><a name="a160"></a> <span class="src-doc">/** Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.*/</span></div></li>
|
|
|
214 |
<li><div class="src-line"><a name="a161"></a> <span class="src-key">private </span><span class="src-var">$parametres_obligatoires </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'debogage'</span><span class="src-sym">, </span><span class="src-str">'debogage_mode'</span><span class="src-sym">, </span><span class="src-str">'serveur.baseURL'</span><span class="src-sym">, </span><span class="src-str">'chemin_modules'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
215 |
<li><div class="src-line"><a name="a162"></a> </div></li>
|
|
|
216 |
<li><div class="src-line"><a name="a163"></a> <span class="src-doc">/**</span></div></li>
|
|
|
217 |
<li><div class="src-line"><a name="a164"></a><span class="src-doc"> * Analyse les données envoyées au serveur, enregistre la méthode HTTP utilisée pour appeler le serveur et parse</span></div></li>
|
|
|
218 |
<li><div class="src-line"><a name="a165"></a><span class="src-doc"> * l'url appelée pour trouver le service demandé.</span></div></li>
|
|
|
219 |
<li><div class="src-line"><a name="a166"></a><span class="src-doc"> */</span></div></li>
|
|
|
220 |
<li><div class="src-line"><a name="a167"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestServeur.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
221 |
<li><div class="src-line"><a name="a168"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodverifierPresenceParametres">verifierPresenceParametres</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">parametres_obligatoires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
222 |
<li><div class="src-line"><a name="a169"></a> </div></li>
|
|
|
223 |
<li><div class="src-line"><a name="a170"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$debogageActivation </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'debogage'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
224 |
<li><div class="src-line"><a name="a171"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$debogageMode </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'debogage_mode'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
225 |
<li><div class="src-line"><a name="a172"></a> </div></li>
|
|
|
226 |
<li><div class="src-line"><a name="a173"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_METHOD'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'QUERY_STRING'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
|
|
|
227 |
<li><div class="src-line"><a name="a174"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserMethode</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
228 |
<li><div class="src-line"><a name="a175"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserRequeteDonnees</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
229 |
<li><div class="src-line"><a name="a176"></a> </div></li>
|
|
|
230 |
<li><div class="src-line"><a name="a177"></a> <span class="src-var">$urlParts </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">decouperUrlChemin</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
231 |
<li><div class="src-line"><a name="a178"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserApiVersion</span><span class="src-sym">(</span><a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$urlParts</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
|
|
|
232 |
<li><div class="src-line"><a name="a179"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserServiceNom</span><span class="src-sym">(</span><a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$urlParts</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
|
|
|
233 |
<li><div class="src-line"><a name="a180"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserRessource</span><span class="src-sym">(</span><span class="src-var">$urlParts</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
234 |
<li><div class="src-line"><a name="a181"></a> </div></li>
|
|
|
235 |
<li><div class="src-line"><a name="a182"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserParametres</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
236 |
<li><div class="src-line"><a name="a183"></a> <span class="src-id"><a href="../Framework/Debug.html">Debug</a></span><span class="src-sym">::</span><a href="../Framework/Debug.html#methodprintr">printr</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
237 |
<li><div class="src-line"><a name="a184"></a> <span class="src-comm">// Enregistrement en première position des autoload de la méthode gérant les classes des services </span></div></li>
|
|
|
238 |
<li><div class="src-line"><a name="a185"></a> <a href="http://www.php.net/spl_autoload_register">spl_autoload_register</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'chargerClasse'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
|
|
|
239 |
<li><div class="src-line"><a name="a186"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li>
|
|
|
240 |
<li><div class="src-line"><a name="a187"></a> <span class="src-var">$e </span>= <span class="src-str">"La classe Serveur du TBFRamework nécessite, pour fonctionner, l'accès aux variables serveurs REQUEST_URI, REQUEST_METHOD et QUERY_STRING."</span><span class="src-sym">;</span></div></li>
|
|
|
241 |
<li><div class="src-line"><a name="a188"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
242 |
<li><div class="src-line"><a name="a189"></a> <span class="src-sym">}</span></div></li>
|
|
|
243 |
<li><div class="src-line"><a name="a190"></a> <span class="src-sym">}</span></div></li>
|
|
|
244 |
<li><div class="src-line"><a name="a191"></a> </div></li>
|
|
|
245 |
<li><div class="src-line"><a name="a192"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserMethode</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
246 |
<li><div class="src-line"><a name="a193"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTP_X_HTTP_METHOD_OVERRIDE'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTP_X_HTTP_METHOD_OVERRIDE'</span><span class="src-sym">]</span><span class="src-sym">)) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
247 |
<li><div class="src-line"><a name="a194"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">methode </span>= <a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'X_HTTP_METHOD_OVERRIDE'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
248 |
<li><div class="src-line"><a name="a195"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li>
|
|
|
249 |
<li><div class="src-line"><a name="a196"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">methode </span>= <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_METHOD'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li>
|
|
|
250 |
<li><div class="src-line"><a name="a197"></a> <span class="src-sym">}</span></div></li>
|
|
|
251 |
<li><div class="src-line"><a name="a198"></a> <span class="src-sym">}</span></div></li>
|
|
|
252 |
<li><div class="src-line"><a name="a199"></a> </div></li>
|
|
|
253 |
<li><div class="src-line"><a name="a200"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserRequeteDonnees</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
254 |
<li><div class="src-line"><a name="a201"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'CONTENT_LENGTH'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'CONTENT_LENGTH'</span><span class="src-sym">] </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
255 |
<li><div class="src-line"><a name="a202"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">requeteDonnees </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li>
|
|
|
256 |
<li><div class="src-line"><a name="a203"></a> <span class="src-var">$httpContent </span>= <a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-str">'php://input'</span><span class="src-sym">, </span><span class="src-str">'r'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
257 |
<li><div class="src-line"><a name="a204"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$data </span>= <a href="http://www.php.net/fread">fread</a><span class="src-sym">(</span><span class="src-var">$httpContent</span><span class="src-sym">, </span><span class="src-num">1024</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
|
|
|
258 |
<li><div class="src-line"><a name="a205"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">requeteDonnees </span>.= <span class="src-var">$data</span><span class="src-sym">;</span></div></li>
|
|
|
259 |
<li><div class="src-line"><a name="a206"></a> <span class="src-sym">}</span></div></li>
|
|
|
260 |
<li><div class="src-line"><a name="a207"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$httpContent</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
261 |
<li><div class="src-line"><a name="a208"></a> <span class="src-sym">}</span></div></li>
|
|
|
262 |
<li><div class="src-line"><a name="a209"></a> <span class="src-sym">}</span></div></li>
|
|
|
263 |
<li><div class="src-line"><a name="a210"></a> </div></li>
|
|
|
264 |
<li><div class="src-line"><a name="a211"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">decouperUrlChemin</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
265 |
<li><div class="src-line"><a name="a212"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'QUERY_STRING'</span><span class="src-sym">]</span><span class="src-sym">) </span>== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
266 |
<li><div class="src-line"><a name="a213"></a> <span class="src-var">$tailleURL </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
267 |
<li><div class="src-line"><a name="a214"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li>
|
|
|
268 |
<li><div class="src-line"><a name="a215"></a> <span class="src-var">$tailleURL </span>= -<span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'QUERY_STRING'</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
269 |
<li><div class="src-line"><a name="a216"></a> <span class="src-sym">}</span></div></li>
|
|
|
270 |
<li><div class="src-line"><a name="a217"></a> <span class="src-var">$urlChaine </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li>
|
|
|
271 |
<li><div class="src-line"><a name="a218"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'serveur.baseURL'</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
272 |
<li><div class="src-line"><a name="a219"></a> <span class="src-var">$urlChaine </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'serveur.baseURL'</span><span class="src-sym">))</span><span class="src-sym">, </span><span class="src-var">$tailleURL</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
273 |
<li><div class="src-line"><a name="a220"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'serveur.baseAlternativeURL'</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
274 |
<li><div class="src-line"><a name="a221"></a> <span class="src-var">$urlChaine </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'serveur.baseAlternativeURL'</span><span class="src-sym">))</span><span class="src-sym">, </span><span class="src-var">$tailleURL</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
275 |
<li><div class="src-line"><a name="a222"></a> <span class="src-sym">}</span></div></li>
|
|
|
276 |
<li><div class="src-line"><a name="a223"></a> <span class="src-key">return </span><a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'/'</span><span class="src-sym">, </span><span class="src-var">$urlChaine</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
277 |
<li><div class="src-line"><a name="a224"></a> <span class="src-sym">}</span></div></li>
|
|
|
278 |
<li><div class="src-line"><a name="a225"></a> </div></li>
|
|
|
279 |
<li><div class="src-line"><a name="a226"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserApiVersion</span><span class="src-sym">(</span><span class="src-var">$apiVersion</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
280 |
<li><div class="src-line"><a name="a227"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$apiVersion</span><span class="src-sym">) </span>&& <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$apiVersion</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
|
|
|
281 |
<li><div class="src-line"><a name="a228"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">apiVersion </span>= <span class="src-var">$apiVersion</span><span class="src-sym">;</span></div></li>
|
|
|
282 |
<li><div class="src-line"><a name="a229"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-str">'chemins'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'api'</span><span class="src-sym">] </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'chemin_modules'</span><span class="src-sym">)</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">apiVersion</span>.<span class="src-id">DS</span><span class="src-sym">;</span></div></li>
|
|
|
283 |
<li><div class="src-line"><a name="a230"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li>
|
|
|
284 |
<li><div class="src-line"><a name="a231"></a> <span class="src-var">$e </span>= <span class="src-str">"Aucune version d'API n'a été spécifié dans l'url qui doit avoir la forme suivante http://www.mondomaine.org/services/apiVersion/monService/"</span><span class="src-sym">;</span></div></li>
|
|
|
285 |
<li><div class="src-line"><a name="a232"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
286 |
<li><div class="src-line"><a name="a233"></a> <span class="src-sym">}</span></div></li>
|
|
|
287 |
<li><div class="src-line"><a name="a234"></a> <span class="src-sym">}</span></div></li>
|
|
|
288 |
<li><div class="src-line"><a name="a235"></a> </div></li>
|
|
|
289 |
<li><div class="src-line"><a name="a236"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserServiceNom</span><span class="src-sym">(</span><span class="src-var">$serviceNom</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
290 |
<li><div class="src-line"><a name="a237"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$serviceNom</span><span class="src-sym">) </span>&& <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$serviceNom</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
|
|
|
291 |
<li><div class="src-line"><a name="a238"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">service </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">traiterNomService</span><span class="src-sym">(</span><span class="src-var">$serviceNom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
292 |
<li><div class="src-line"><a name="a239"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li>
|
|
|
293 |
<li><div class="src-line"><a name="a240"></a> <span class="src-var">$e </span>= <span class="src-str">"Aucun service n'a été spécifié dans l'url qui doit avoir la forme suivante http://www.mondomaine.org/services/apiVersion/monService/"</span><span class="src-sym">;</span></div></li>
|
|
|
294 |
<li><div class="src-line"><a name="a241"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
295 |
<li><div class="src-line"><a name="a242"></a> <span class="src-sym">}</span></div></li>
|
|
|
296 |
<li><div class="src-line"><a name="a243"></a> <span class="src-sym">}</span></div></li>
|
|
|
297 |
<li><div class="src-line"><a name="a244"></a> </div></li>
|
|
|
298 |
<li><div class="src-line"><a name="a245"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">traiterNomService</span><span class="src-sym">(</span><span class="src-var">$serviceNom</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
299 |
<li><div class="src-line"><a name="a246"></a> <span class="src-key">return </span><a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><a href="http://www.php.net/ucwords">ucwords</a><span class="src-sym">(</span><a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'-'</span><span class="src-sym">, </span><span class="src-str">' '</span><span class="src-sym">, </span><a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$serviceNom</span><span class="src-sym">))))</span><span class="src-sym">;</span></div></li>
|
|
|
300 |
<li><div class="src-line"><a name="a247"></a> <span class="src-sym">}</span></div></li>
|
|
|
301 |
<li><div class="src-line"><a name="a248"></a> </div></li>
|
|
|
302 |
<li><div class="src-line"><a name="a249"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserRessource</span><span class="src-sym">(</span><span class="src-var">$urlParts</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
303 |
<li><div class="src-line"><a name="a250"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$urlParts</span><span class="src-sym">) </span>&& <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$urlParts</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
304 |
<li><div class="src-line"><a name="a251"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$urlParts </span><span class="src-key">as </span><span class="src-var">$ressource</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
305 |
<li><div class="src-line"><a name="a252"></a> <span class="src-comm">// Ne pas utiliser empty() car valeur 0 acceptée</span></div></li>
|
|
|
306 |
<li><div class="src-line"><a name="a253"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ressource </span>!= <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
307 |
<li><div class="src-line"><a name="a254"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">ressources</span><span class="src-sym">[</span><span class="src-sym">] </span>= <a href="http://www.php.net/urldecode">urldecode</a><span class="src-sym">(</span><span class="src-var">$ressource</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
308 |
<li><div class="src-line"><a name="a255"></a> <span class="src-sym">}</span></div></li>
|
|
|
309 |
<li><div class="src-line"><a name="a256"></a> <span class="src-sym">}</span></div></li>
|
|
|
310 |
<li><div class="src-line"><a name="a257"></a> <span class="src-sym">}</span></div></li>
|
|
|
311 |
<li><div class="src-line"><a name="a258"></a> <span class="src-sym">}</span></div></li>
|
|
|
312 |
<li><div class="src-line"><a name="a259"></a> </div></li>
|
|
|
313 |
<li><div class="src-line"><a name="a260"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserParametres</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
314 |
<li><div class="src-line"><a name="a261"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">nettoyerGet</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
315 |
<li><div class="src-line"><a name="a262"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">parametres </span>= <span class="src-var">$_GET</span><span class="src-sym">;</span></div></li>
|
|
|
316 |
<li><div class="src-line"><a name="a263"></a> <span class="src-sym">}</span></div></li>
|
|
|
317 |
<li><div class="src-line"><a name="a264"></a> </div></li>
|
|
|
318 |
<li><div class="src-line"><a name="a265"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">nettoyerGet</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
319 |
<li><div class="src-line"><a name="a266"></a> <span class="src-comm">// Pas besoin d'utiliser urldecode car déjà fait par php pour les clés et valeur de $_GET </span></div></li>
|
|
|
320 |
<li><div class="src-line"><a name="a267"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_GET</span><span class="src-sym">) </span>&& <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$_GET</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
321 |
<li><div class="src-line"><a name="a268"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$_GET </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
322 |
<li><div class="src-line"><a name="a269"></a> <span class="src-var">$verifier </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'NULL'</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-str">"\r"</span><span class="src-sym">, </span><span class="src-str">"\\"</span><span class="src-sym">, </span><span class="src-str">"'"</span><span class="src-sym">, </span><span class="src-str">'"'</span><span class="src-sym">, </span><span class="src-str">"\x00"</span><span class="src-sym">, </span><span class="src-str">"\x1a"</span><span class="src-sym">, </span><span class="src-str">';'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
323 |
<li><div class="src-line"><a name="a270"></a> <span class="src-var">$_GET</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <a href="http://www.php.net/strip_tags">strip_tags</a><span class="src-sym">(</span><a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-var">$verifier</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li>
|
|
|
324 |
<li><div class="src-line"><a name="a271"></a> <span class="src-sym">}</span></div></li>
|
|
|
325 |
<li><div class="src-line"><a name="a272"></a> <span class="src-sym">}</span></div></li>
|
|
|
326 |
<li><div class="src-line"><a name="a273"></a> <span class="src-sym">}</span></div></li>
|
|
|
327 |
<li><div class="src-line"><a name="a274"></a> </div></li>
|
|
|
328 |
<li><div class="src-line"><a name="a275"></a> <span class="src-doc">/**</span></div></li>
|
|
|
329 |
<li><div class="src-line"><a name="a276"></a><span class="src-doc"> * La méthode __autoload() charge dynamiquement les classes trouvées dans le code.</span></div></li>
|
|
|
330 |
<li><div class="src-line"><a name="a277"></a><span class="src-doc"> * Cette fonction est appelée par php5 quand il trouve une instanciation de classe dans le code.</span></div></li>
|
|
|
331 |
<li><div class="src-line"><a name="a278"></a><span class="src-doc"> *</span></div></li>
|
|
|
332 |
<li><div class="src-line"><a name="a279"></a><span class="src-doc"> *</span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le nom de la classe appelée.</span></div></li>
|
|
|
333 |
<li><div class="src-line"><a name="a280"></a><span class="src-doc"> *</span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span><span class="src-doc">le fichier contenant la classe doit être inclu par la fonction.</span></div></li>
|
|
|
334 |
<li><div class="src-line"><a name="a281"></a><span class="src-doc"> */</span></div></li>
|
|
|
335 |
<li><div class="src-line"><a name="a282"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/RestServeur.html#methodchargerClasse">chargerClasse</a><span class="src-sym">(</span><span class="src-var">$classe</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
336 |
<li><div class="src-line"><a name="a283"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$classe</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
|
|
|
337 |
<li><div class="src-line"><a name="a284"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li>
|
|
|
338 |
<li><div class="src-line"><a name="a285"></a> <span class="src-sym">}</span></div></li>
|
|
|
339 |
<li><div class="src-line"><a name="a286"></a> </div></li>
|
|
|
340 |
<li><div class="src-line"><a name="a287"></a> <span class="src-var">$chemins </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-str">'chemins'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'api'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
341 |
<li><div class="src-line"><a name="a288"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$chemins </span><span class="src-key">as </span><span class="src-var">$chemin</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
342 |
<li><div class="src-line"><a name="a289"></a> <span class="src-var">$chemin </span>= <span class="src-var">$chemin</span>.<span class="src-var">$classe</span>.<span class="src-str">'.php'</span><span class="src-sym">;</span></div></li>
|
|
|
343 |
<li><div class="src-line"><a name="a290"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">file_exists</span><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li>
|
|
|
344 |
<li><div class="src-line"><a name="a291"></a> <span class="src-inc">require_once </span><span class="src-var">$chemin</span><span class="src-sym">;</span></div></li>
|
|
|
345 |
<li><div class="src-line"><a name="a292"></a> <span class="src-sym">}</span></div></li>
|
|
|
346 |
<li><div class="src-line"><a name="a293"></a> <span class="src-sym">}</span></div></li>
|
|
|
347 |
<li><div class="src-line"><a name="a294"></a> <span class="src-sym">}</span></div></li>
|
|
|
348 |
<li><div class="src-line"><a name="a295"></a> </div></li>
|
|
|
349 |
<li><div class="src-line"><a name="a296"></a> <span class="src-doc">/**</span></div></li>
|
|
|
350 |
<li><div class="src-line"><a name="a297"></a><span class="src-doc"> * Execute la requête.</span></div></li>
|
|
|
351 |
<li><div class="src-line"><a name="a298"></a><span class="src-doc"> */</span></div></li>
|
|
|
352 |
<li><div class="src-line"><a name="a299"></a> <span class="src-key">function </span><a href="../Framework/RestServeur.html#methodexecuter">executer</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
353 |
<li><div class="src-line"><a name="a300"></a> <span class="src-key">switch </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">methode</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li>
|
|
|
354 |
<li><div class="src-line"><a name="a301"></a> <span class="src-key">case </span><span class="src-str">'GET'</span>:</div></li>
|
|
|
355 |
<li><div class="src-line"><a name="a302"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
356 |
<li><div class="src-line"><a name="a303"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li>
|
|
|
357 |
<li><div class="src-line"><a name="a304"></a> <span class="src-key">case </span><span class="src-str">'POST'</span>:</div></li>
|
|
|
358 |
<li><div class="src-line"><a name="a305"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">post</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
359 |
<li><div class="src-line"><a name="a306"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li>
|
|
|
360 |
<li><div class="src-line"><a name="a307"></a> <span class="src-key">case </span><span class="src-str">'DELETE'</span>:</div></li>
|
|
|
361 |
<li><div class="src-line"><a name="a308"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">delete</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
362 |
<li><div class="src-line"><a name="a309"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li>
|
|
|
363 |
<li><div class="src-line"><a name="a310"></a> <span class="src-key">case </span><span class="src-str">'PUT'</span>:</div></li>
|
|
|
364 |
<li><div class="src-line"><a name="a311"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">put</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
365 |
<li><div class="src-line"><a name="a312"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li>
|
|
|
366 |
<li><div class="src-line"><a name="a313"></a> <span class="src-key">default </span>:</div></li>
|
|
|
367 |
<li><div class="src-line"><a name="a314"></a> <span class="src-var">$e </span>= <span class="src-str">"</span><span class="src-str">La méthode HTTP '{<span class="src-var">$this</span></span><span class="src-sym">-></span><span class="src-var">methode</span><span class="src-sym">}</span>' n'est pas prise en compte par ce serveur REST.</span><span class="src-str"><span class="src-str">"</span><span class="src-sym">;</span></span></div></li>
|
|
|
368 |
<li><div class="src-line"><a name="a315"></a></span><span class="src-str"> <span class="src-id">trigger_error</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
369 |
<li><div class="src-line"><a name="a316"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
370 |
<li><div class="src-line"><a name="a317"></a></span><span class="src-str"> <span class="src-comm">// Affichage des exceptions et erreurs générées par les services</span></span></div></li>
|
|
|
371 |
<li><div class="src-line"><a name="a318"></a></span><span class="src-str"><span class="src-comm"></span> <span class="src-var">$this</span></span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodgererErreurs">gererErreurs</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
|
|
|
372 |
<li><div class="src-line"><a name="a319"></a> </span><span class="src-str"><span class="src-sym">}</span></span></div></li>
|
|
|
373 |
<li><div class="src-line"><a name="a320"></a> </div></li>
|
|
|
374 |
<li><div class="src-line"><a name="a321"></a></span><span class="src-str"> /**</span></div></li>
|
|
|
375 |
<li><div class="src-line"><a name="a322"></a></span><span class="src-str"> * Execute a GET request. A GET request fetches a list of resource when no resource name is given, a list of element</span></div></li>
|
|
|
376 |
<li><div class="src-line"><a name="a323"></a></span><span class="src-str"> * when a resource name is given, or a resource element when a resource and resource unique identifier are given. It does not change the</span></div></li>
|
|
|
377 |
<li><div class="src-line"><a name="a324"></a></span><span class="src-str"> * database contents.</span></div></li>
|
|
|
378 |
<li><div class="src-line"><a name="a325"></a></span><span class="src-str"> */</span></div></li>
|
|
|
379 |
<li><div class="src-line"><a name="a326"></a></span><span class="src-str"> <span class="src-key">private</span> <span class="src-key">function</span> <span class="src-id">get</span><span class="src-sym">(</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
380 |
<li><div class="src-line"><a name="a327"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">service</span> != <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
381 |
<li><div class="src-line"><a name="a328"></a></span><span class="src-str"> <span class="src-var">$Service</span> = <span class="src-key">new</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$config</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
382 |
<li><div class="src-line"><a name="a329"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-id">method_exists</span><span class="src-sym">(</span><span class="src-var">$Service</span><span class="src-sym">,</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_GET</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li>
|
|
|
383 |
<li><div class="src-line"><a name="a330"></a></span><span class="src-str"> <span class="src-var">$methodeGet</span> = <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_GET</span><span class="src-sym">;</span></span></div></li>
|
|
|
384 |
<li><div class="src-line"><a name="a331"></a></span><span class="src-str"> <span class="src-var">$Service</span><span class="src-sym">-></span><span class="src-var">$methodeGet</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">ressources</span><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">parametres</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
385 |
<li><div class="src-line"><a name="a332"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li>
|
|
|
386 |
<li><div class="src-line"><a name="a333"></a></span><span class="src-str"> <span class="src-var">$e</span> = </span><span class="src-str">"</span>Le service '{<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">}</span>' ne contient pas la méthode '<span class="src-str">"</span><span class="src-str">.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_GET</span>.<span class="src-str">"' nécessaire "</span>.</span></div></li>
|
|
|
387 |
<li><div class="src-line"><a name="a334"></a></span><span class="src-str"> <span class="src-str">"lors de l'appel du service via la méthode HTTP GET."</span><span class="src-sym">;</span></span></div></li>
|
|
|
388 |
<li><div class="src-line"><a name="a335"></a></span><span class="src-str"> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
389 |
<li><div class="src-line"><a name="a336"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
390 |
<li><div class="src-line"><a name="a337"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
391 |
<li><div class="src-line"><a name="a338"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
392 |
<li><div class="src-line"><a name="a339"></a> </div></li>
|
|
|
393 |
<li><div class="src-line"><a name="a340"></a></span><span class="src-str"> <span class="src-key">private</span> <span class="src-key">function</span> <span class="src-id">post</span><span class="src-sym">(</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
394 |
<li><div class="src-line"><a name="a341"></a></span><span class="src-str"> <span class="src-var">$paires</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">parserDonneesRequete</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
395 |
<li><div class="src-line"><a name="a342"></a> </div></li>
|
|
|
396 |
<li><div class="src-line"><a name="a343"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$paires</span><span class="src-sym">)</span> != <span class="src-num">0</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
397 |
<li><div class="src-line"><a name="a344"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$paires</span><span class="src-sym">[</span><span class="src-str">'action'</span><span class="src-sym">]</span><span class="src-sym">)</span> && <span class="src-var">$paires</span><span class="src-sym">[</span><span class="src-str">'action'</span><span class="src-sym">]</span> == <span class="src-str">'DELETE'</span><span class="src-sym">)</span> <span class="src-sym">{</span><span class="src-comm">// Altnative à l'utilisation de DELETE</span></span></div></li>
|
|
|
398 |
<li><div class="src-line"><a name="a345"></a></span><span class="src-str"><span class="src-comm"></span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">delete</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
399 |
<li><div class="src-line"><a name="a346"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-key">if</span> <span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">ressources</span><span class="src-sym">)</span> == <span class="src-num">0</span><span class="src-sym">)</span> <span class="src-sym">{</span><span class="src-comm">// Altnative à l'utilisation de PUT</span></span></div></li>
|
|
|
400 |
<li><div class="src-line"><a name="a347"></a></span><span class="src-str"><span class="src-comm"></span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">add</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
401 |
<li><div class="src-line"><a name="a348"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li>
|
|
|
402 |
<li><div class="src-line"><a name="a349"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span> != <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
403 |
<li><div class="src-line"><a name="a350"></a></span><span class="src-str"> <span class="src-var">$Service</span> = <span class="src-key">new</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$config</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
404 |
<li><div class="src-line"><a name="a351"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-id">method_exists</span><span class="src-sym">(</span><span class="src-var">$Service</span><span class="src-sym">,</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_POST</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li>
|
|
|
405 |
<li><div class="src-line"><a name="a352"></a></span><span class="src-str"> <span class="src-var">$methodePost</span> = <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_POST</span><span class="src-sym">;</span></span></div></li>
|
|
|
406 |
<li><div class="src-line"><a name="a353"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$Service</span><span class="src-sym">-></span><span class="src-var">$methodePost</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">ressources</span><span class="src-sym">,</span> <span class="src-var">$paires</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li>
|
|
|
407 |
<li><div class="src-line"><a name="a354"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_CREATION_OK</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
408 |
<li><div class="src-line"><a name="a355"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
409 |
<li><div class="src-line"><a name="a356"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li>
|
|
|
410 |
<li><div class="src-line"><a name="a357"></a></span><span class="src-str"> <span class="src-var">$e</span> = <span class="src-str">"</span></span>Le service '{<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">}</span>' ne contient pas la méthode '<span class="src-str">"</span><span class="src-str">.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_POST</span>.<span class="src-str">"' nécessaire "</span>.</span></div></li>
|
|
|
411 |
<li><div class="src-line"><a name="a358"></a></span><span class="src-str"> <span class="src-str">"lors de l'appel du service via la méthode HTTP POST."</span><span class="src-sym">;</span></span></div></li>
|
|
|
412 |
<li><div class="src-line"><a name="a359"></a></span><span class="src-str"> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
413 |
<li><div class="src-line"><a name="a360"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
414 |
<li><div class="src-line"><a name="a361"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
415 |
<li><div class="src-line"><a name="a362"></a></span><span class="src-str"> <span class="src-sym">}</span> </span></div></li>
|
|
|
416 |
<li><div class="src-line"><a name="a363"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li>
|
|
|
417 |
<li><div class="src-line"><a name="a364"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_CONTENU_REQUIS</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
418 |
<li><div class="src-line"><a name="a365"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
419 |
<li><div class="src-line"><a name="a366"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
420 |
<li><div class="src-line"><a name="a367"></a> </div></li>
|
|
|
421 |
<li><div class="src-line"><a name="a368"></a></span><span class="src-str"> <span class="src-key">private</span> <span class="src-key">function</span> <span class="src-id">put</span><span class="src-sym">(</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
422 |
<li><div class="src-line"><a name="a369"></a></span><span class="src-str"> <span class="src-var">$paires</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">parserDonneesRequete</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
423 |
<li><div class="src-line"><a name="a370"></a> </div></li>
|
|
|
424 |
<li><div class="src-line"><a name="a371"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$paires</span><span class="src-sym">)</span> != <span class="src-num">0</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
425 |
<li><div class="src-line"><a name="a372"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span> != <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
426 |
<li><div class="src-line"><a name="a373"></a></span><span class="src-str"> <span class="src-var">$Service</span> = <span class="src-key">new</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$config</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
427 |
<li><div class="src-line"><a name="a374"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-id">method_exists</span><span class="src-sym">(</span><span class="src-var">$Service</span><span class="src-sym">,</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_PUT</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li>
|
|
|
428 |
<li><div class="src-line"><a name="a375"></a></span><span class="src-str"> <span class="src-var">$methodePut</span> = <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_PUT</span><span class="src-sym">;</span></span></div></li>
|
|
|
429 |
<li><div class="src-line"><a name="a376"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$Service</span><span class="src-sym">-></span><span class="src-var">$methodePut</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">ressources</span><span class="src-sym">,</span> <span class="src-var">$paires</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li>
|
|
|
430 |
<li><div class="src-line"><a name="a377"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_CREATION_OK</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
431 |
<li><div class="src-line"><a name="a378"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
432 |
<li><div class="src-line"><a name="a379"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li>
|
|
|
433 |
<li><div class="src-line"><a name="a380"></a></span><span class="src-str"> <span class="src-var">$e</span> = <span class="src-str">"</span></span>Le service '{<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">}</span>' ne contient pas la méthode '<span class="src-str">"</span><span class="src-str">.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_PUT</span>.<span class="src-str">"' nécessaire "</span>.</span></div></li>
|
|
|
434 |
<li><div class="src-line"><a name="a381"></a></span><span class="src-str"> <span class="src-str">"lors de l'appel du service via la méthode HTTP PUT (ou équivalant)."</span><span class="src-sym">;</span></span></div></li>
|
|
|
435 |
<li><div class="src-line"><a name="a382"></a></span><span class="src-str"> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
436 |
<li><div class="src-line"><a name="a383"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
437 |
<li><div class="src-line"><a name="a384"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
438 |
<li><div class="src-line"><a name="a385"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li>
|
|
|
439 |
<li><div class="src-line"><a name="a386"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_CONTENU_REQUIS</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
440 |
<li><div class="src-line"><a name="a387"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
441 |
<li><div class="src-line"><a name="a388"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
442 |
<li><div class="src-line"><a name="a389"></a> </div></li>
|
|
|
443 |
<li><div class="src-line"><a name="a390"></a></span><span class="src-str"> <span class="src-key">private</span> <span class="src-key">function</span> <span class="src-id">delete</span><span class="src-sym">(</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
444 |
<li><div class="src-line"><a name="a391"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">ressources</span><span class="src-sym">)</span> != <span class="src-num">0</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
445 |
<li><div class="src-line"><a name="a392"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span> != <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
446 |
<li><div class="src-line"><a name="a393"></a></span><span class="src-str"> <span class="src-var">$Service</span> = <span class="src-key">new</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$config</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
447 |
<li><div class="src-line"><a name="a394"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-id">method_exists</span><span class="src-sym">(</span><span class="src-var">$Service</span><span class="src-sym">,</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_DELETE</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li>
|
|
|
448 |
<li><div class="src-line"><a name="a395"></a></span><span class="src-str"> <span class="src-var">$methodeDelete</span> = <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_DELETE</span><span class="src-sym">;</span></span></div></li>
|
|
|
449 |
<li><div class="src-line"><a name="a396"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$Service</span><span class="src-sym">-></span><span class="src-var">$methodeDelete</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">ressources</span><span class="src-sym">,</span> <span class="src-var">$paires</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li>
|
|
|
450 |
<li><div class="src-line"><a name="a397"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_SUPPRESSION_OK</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
451 |
<li><div class="src-line"><a name="a398"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li>
|
|
|
452 |
<li><div class="src-line"><a name="a399"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_RESSOURCE_INTROUVABLE</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
453 |
<li><div class="src-line"><a name="a400"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
454 |
<li><div class="src-line"><a name="a401"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li>
|
|
|
455 |
<li><div class="src-line"><a name="a402"></a></span><span class="src-str"> <span class="src-var">$e</span> = <span class="src-str">"</span></span>Le service '{<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">}</span>' ne contient pas la méthode '<span class="src-str">"</span><span class="src-str">.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_DELETE</span>.<span class="src-str">"' nécessaire "</span>.</span></div></li>
|
|
|
456 |
<li><div class="src-line"><a name="a403"></a></span><span class="src-str"> <span class="src-str">"lors de l'appel du service via la méthode HTTP DELETE (ou équivalant)."</span><span class="src-sym">;</span></span></div></li>
|
|
|
457 |
<li><div class="src-line"><a name="a404"></a></span><span class="src-str"> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
458 |
<li><div class="src-line"><a name="a405"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
459 |
<li><div class="src-line"><a name="a406"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
460 |
<li><div class="src-line"><a name="a407"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li>
|
|
|
461 |
<li><div class="src-line"><a name="a408"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_MAUVAISE_REQUETE</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
462 |
<li><div class="src-line"><a name="a409"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
463 |
<li><div class="src-line"><a name="a410"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
464 |
<li><div class="src-line"><a name="a411"></a></span><span class="src-str"> </span></div></li>
|
|
|
465 |
<li><div class="src-line"><a name="a412"></a><span class="src-doc">/**</span><span class="src-str"> </span></span></div></li>
|
|
|
466 |
<li><div class="src-line"><a name="a413"></a><span class="src-doc"> * Parse les données contenu dans le corps de la requête HTTP (= POST) en :</span></div></li>
|
|
|
467 |
<li><div class="src-line"><a name="a414"></a><span class="src-doc"> * - décodant les clés et valeurs.</span></div></li>
|
|
|
468 |
<li><div class="src-line"><a name="a415"></a><span class="src-doc"> * - supprimant les espaces en début et fin des clés et des valeurs.</span></div></li>
|
|
|
469 |
<li><div class="src-line"><a name="a416"></a><span class="src-doc"> * </span></div></li>
|
|
|
470 |
<li><div class="src-line"><a name="a417"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">Tableau de paires clé et valeur.</span></div></li>
|
|
|
471 |
<li><div class="src-line"><a name="a418"></a><span class="src-doc"> */</span><span class="src-str"></span></span></div></li>
|
|
|
472 |
<li><div class="src-line"><a name="a419"></a></span><span class="src-str"> <span class="src-key">private</span> <span class="src-key">function</span> <span class="src-id">parserDonneesRequete</span><span class="src-sym">(</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
473 |
<li><div class="src-line"><a name="a420"></a></span><span class="src-str"> <span class="src-var">$donnees</span> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
474 |
<li><div class="src-line"><a name="a421"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$requeteDonneesParsees</span> != <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
475 |
<li><div class="src-line"><a name="a422"></a></span><span class="src-str"> <span class="src-var">$donnees</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$requeteDonneesParsees</span><span class="src-sym">;</span></span></div></li>
|
|
|
476 |
<li><div class="src-line"><a name="a423"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeteDonnees</span> != <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
477 |
<li><div class="src-line"><a name="a424"></a></span><span class="src-str"> <span class="src-var">$paires</span> = <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'&'</span><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeteDonnees</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
478 |
<li><div class="src-line"><a name="a425"></a></span><span class="src-str"> <span class="src-key">foreach</span> <span class="src-sym">(</span><span class="src-var">$paires</span> <span class="src-key">as</span> <span class="src-var">$paire</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
479 |
<li><div class="src-line"><a name="a426"></a></span><span class="src-str"> list<span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">,</span> <span class="src-var">$valeur</span><span class="src-sym">)</span> = <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'='</span><span class="src-sym">,</span> <span class="src-var">$paire</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
480 |
<li><div class="src-line"><a name="a427"></a></span><span class="src-str"> <span class="src-var">$cle</span> = <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">))</span> ? <a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><a href="http://www.php.net/urldecode">urldecode</a><span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">))</span> : <span class="src-str">''</span><span class="src-sym">;</span></span></div></li>
|
|
|
481 |
<li><div class="src-line"><a name="a428"></a></span><span class="src-str"> <span class="src-var">$valeur</span> = <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">))</span> ? <a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><a href="http://www.php.net/urldecode">urldecode</a><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">))</span> : <span class="src-str">''</span><span class="src-sym">;</span></span></div></li>
|
|
|
482 |
<li><div class="src-line"><a name="a429"></a></span><span class="src-str"> <span class="src-var">$donnees</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span> = <span class="src-var">$valeur</span><span class="src-sym">;</span></span></div></li>
|
|
|
483 |
<li><div class="src-line"><a name="a430"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
484 |
<li><div class="src-line"><a name="a431"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$requeteDonneesParsees</span> = <span class="src-var">$donnees</span><span class="src-sym">;</span></span></div></li>
|
|
|
485 |
<li><div class="src-line"><a name="a432"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
486 |
<li><div class="src-line"><a name="a433"></a></span><span class="src-str"> <span class="src-key">return</span> <span class="src-var">$donnees</span><span class="src-sym">;</span></span></div></li>
|
|
|
487 |
<li><div class="src-line"><a name="a434"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
488 |
<li><div class="src-line"><a name="a435"></a></span><span class="src-str"> </span></div></li>
|
|
|
489 |
<li><div class="src-line"><a name="a436"></a><span class="src-doc">/**</span><span class="src-str"> </span></span></div></li>
|
|
|
490 |
<li><div class="src-line"><a name="a437"></a><span class="src-doc"> * Envoyer un entête HTTP (version 1.0) de statut.</span></div></li>
|
|
|
491 |
<li><div class="src-line"><a name="a438"></a><span class="src-doc"> * Il remplacera systématiquement tout entête HTTP de statut précédement envoyé.</span></div></li>
|
|
|
492 |
<li><div class="src-line"><a name="a439"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$code </span><span class="src-doc">entier indiquant le code du statut de l'entête HTTP à envoyer.</span></div></li>
|
|
|
493 |
<li><div class="src-line"><a name="a440"></a><span class="src-doc"> */</span><span class="src-str"></span></span></div></li>
|
|
|
494 |
<li><div class="src-line"><a name="a441"></a></span><span class="src-str"> <span class="src-key">public</span> <span class="src-key">static</span> <span class="src-key">function</span> <a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-var">$code</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
495 |
<li><div class="src-line"><a name="a442"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$http10</span><span class="src-sym">[</span><span class="src-var">$code</span><span class="src-sym">]</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li>
|
|
|
496 |
<li><div class="src-line"><a name="a443"></a></span><span class="src-str"> <span class="src-var">$txt</span> = <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$http10</span><span class="src-sym">[</span><span class="src-var">$code</span><span class="src-sym">]</span><span class="src-sym">;</span></span></div></li>
|
|
|
497 |
<li><div class="src-line"><a name="a444"></a></span><span class="src-str"> <span class="src-id">header</span><span class="src-sym">(</span><span class="src-str">"</span></span>HTTP/1.0 <span class="src-var">$code $txt</span><span class="src-str">"</span><span class="src-str"><span class="src-sym">,</span> <span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
498 |
<li><div class="src-line"><a name="a445"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
499 |
<li><div class="src-line"><a name="a446"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
500 |
<li><div class="src-line"><a name="a447"></a></span><span class="src-str"> </span></div></li>
|
|
|
501 |
<li><div class="src-line"><a name="a448"></a></span><span class="src-str"> /**</span></div></li>
|
|
|
502 |
<li><div class="src-line"><a name="a449"></a></span><span class="src-str"> * Si des exceptions ou des erreurs sont soulevées par le serveur ou les services, elles sont gérées par cette méthode.</span></div></li>
|
|
|
503 |
<li><div class="src-line"><a name="a450"></a></span><span class="src-str"> * Si nous avec des erreurs d'un type différent d'E_USER_NOTICE (réservé au débogage), elle sont renvoyées sur la sortie </span></div></li>
|
|
|
504 |
<li><div class="src-line"><a name="a451"></a></span><span class="src-str"> * standard (via echo).</span></div></li>
|
|
|
505 |
<li><div class="src-line"><a name="a452"></a></span><span class="src-str"> * Si seulement des erreurs de type E_USER_NOTICE, sont présentes, elle sont envoyées en fonction du contenu du paramètre de </span></div></li>
|
|
|
506 |
<li><div class="src-line"><a name="a453"></a></span><span class="src-str"> * config "debogage_mode" :</span></div></li>
|
|
|
507 |
<li><div class="src-line"><a name="a454"></a></span><span class="src-str"> * - Debug::MODE_ECHO : les messages sont affichés en utilisant echo au moment où ils sont déclenchés dans le code. </span></div></li>
|
|
|
508 |
<li><div class="src-line"><a name="a455"></a></span><span class="src-str"> * - Debug::MODE_NOTICE : les message sont stockés par le gestionnaire d'exception sous forme d'erreur de type </span></div></li>
|
|
|
509 |
<li><div class="src-line"><a name="a456"></a></span><span class="src-str"> * E_USER_NOTICE et sont renvoyés sur la sortie standard à la fin de l'execution du programme (via echo).</span></div></li>
|
|
|
510 |
<li><div class="src-line"><a name="a457"></a></span><span class="src-str"> * - Debug::MODE_ENTETE_HTTP : les message sont stockés par le gestionnaire d'exception sous forme d'erreur de type </span></div></li>
|
|
|
511 |
<li><div class="src-line"><a name="a458"></a></span><span class="src-str"> * E_USER_NOTICE et sont renvoyés dans un entête HTTP (X_REST_DEBOGAGE_MESSAGES) à la fin de l'execution du programme.</span></div></li>
|
|
|
512 |
<li><div class="src-line"><a name="a459"></a></span><span class="src-str"> * - Autre valeur : les messages sont formatés puis retournés par la fonction de débogage (à vous de les afficher).</span></div></li>
|
|
|
513 |
<li><div class="src-line"><a name="a460"></a></span><span class="src-str"> */</span></div></li>
|
|
|
514 |
<li><div class="src-line"><a name="a461"></a></span><span class="src-str"> <span class="src-key">public</span> <span class="src-key">static</span> <span class="src-key">function</span> <span class="src-id">gererErreurs</span><span class="src-sym">(</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
515 |
<li><div class="src-line"><a name="a462"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$debogageActivation</span> && <span class="src-id">GestionnaireException</span><span class="src-sym">::</span><span class="src-id">getExceptionsNbre</span><span class="src-sym">(</span><span class="src-sym">)</span> > <span class="src-num">0</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
516 |
<li><div class="src-line"><a name="a463"></a></span><span class="src-str"> <span class="src-var">$exceptionsTriees</span> = <span class="src-id">GestionnaireException</span><span class="src-sym">::</span><span class="src-id">getExceptionsTriees</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
517 |
<li><div class="src-line"><a name="a464"></a></span><span class="src-str"> <span class="src-id">reset</span><span class="src-sym">(</span><span class="src-var">$exceptionsTriees</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
518 |
<li><div class="src-line"><a name="a465"></a></span><span class="src-str"> <span class="src-var">$debogageSeulement</span> = <span class="src-id">true</span><span class="src-sym">;</span></span></div></li>
|
|
|
519 |
<li><div class="src-line"><a name="a466"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-sym">!</span> <span class="src-sym">(</span><span class="src-id">count</span><span class="src-sym">(</span><span class="src-var">$exceptionsTriees</span><span class="src-sym">)</span> == <span class="src-num">1</span> && <span class="src-id">key</span><span class="src-sym">(</span><span class="src-var">$exceptionsTriees</span><span class="src-sym">)</span> == <span class="src-id">E_USER_NOTICE</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li>
|
|
|
520 |
<li><div class="src-line"><a name="a467"></a></span><span class="src-str"> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">envoyerEnteteStatutHttp</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_ERREUR</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
521 |
<li><div class="src-line"><a name="a468"></a></span><span class="src-str"> <span class="src-var">$debogageSeulement</span> = <span class="src-id">false</span><span class="src-sym">;</span></span></div></li>
|
|
|
522 |
<li><div class="src-line"><a name="a469"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
523 |
<li><div class="src-line"><a name="a470"></a></span><span class="src-str"> </span></div></li>
|
|
|
524 |
<li><div class="src-line"><a name="a471"></a></span><span class="src-str"> <span class="src-var">$exceptionsFormatees</span> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
525 |
<li><div class="src-line"><a name="a472"></a></span><span class="src-str"> <span class="src-key">foreach</span> <span class="src-sym">(</span><span class="src-var">$exceptionsTriees</span> <span class="src-key">as</span> <span class="src-var">$exceptions</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
526 |
<li><div class="src-line"><a name="a473"></a></span><span class="src-str"> <span class="src-key">foreach</span> <span class="src-sym">(</span><span class="src-var">$exceptions</span> <span class="src-key">as</span> <span class="src-var">$e</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
527 |
<li><div class="src-line"><a name="a474"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$debogageSeulement</span> && <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$debogageMode</span> == <span class="src-id">Debug</span><span class="src-sym">::</span><span class="src-id">MODE_ENTETE_HTTP</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
528 |
<li><div class="src-line"><a name="a475"></a></span><span class="src-str"> <span class="src-var">$exceptionsFormatees</span><span class="src-sym">[</span><span class="src-sym">]</span> = <span class="src-id">GestionnaireException</span><span class="src-sym">::</span><span class="src-id">formaterExceptionTxt</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
529 |
<li><div class="src-line"><a name="a476"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li>
|
|
|
530 |
<li><div class="src-line"><a name="a477"></a></span><span class="src-str"> echo <span class="src-id">GestionnaireException</span><span class="src-sym">::</span><span class="src-id">formaterExceptionXhtml</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li>
|
|
|
531 |
<li><div class="src-line"><a name="a478"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
532 |
<li><div class="src-line"><a name="a479"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
533 |
<li><div class="src-line"><a name="a480"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
534 |
<li><div class="src-line"><a name="a481"></a></span><span class="src-str"> </span></div></li>
|
|
|
535 |
<li><div class="src-line"><a name="a482"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$debogageSeulement</span> && <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$debogageMode</span> == <span class="src-id">Debug</span><span class="src-sym">::</span><span class="src-id">MODE_ENTETE_HTTP</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li>
|
|
|
536 |
<li><div class="src-line"><a name="a483"></a></span><span class="src-str"> <span class="src-id">header</span><span class="src-sym">(</span><span class="src-str">'X_REST_DEBOGAGE_MESSAGES: '</span>.<a href="http://www.php.net/json_encode">json_encode</a><span class="src-sym">(</span><span class="src-var">$exceptionsFormatees</span><span class="src-sym">))</span><span class="src-sym">;</span></span></div></li>
|
|
|
537 |
<li><div class="src-line"><a name="a484"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
538 |
<li><div class="src-line"><a name="a485"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
539 |
<li><div class="src-line"><a name="a486"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li>
|
|
|
540 |
<li><div class="src-line"><a name="a487"></a></span><span class="src-str"><span class="src-sym">}</span></span></div></li>
|
|
|
541 |
</ol>
|
|
|
542 |
</div>
|
|
|
543 |
<div class="credit">
|
|
|
544 |
<hr />
|
302 |
jpm |
545 |
Documentation generated on Tue, 18 Jan 2011 15:31:27 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
|
297 |
jpm |
546 |
</div>
|
|
|
547 |
</td></tr></table>
|
|
|
548 |
</td>
|
|
|
549 |
</tr>
|
|
|
550 |
</table>
|
|
|
551 |
|
|
|
552 |
</body>
|
|
|
553 |
</html>
|