Class RestServeur
Copyright: Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
License: v3 <http://www.gnu.org/licenses/gpl.txt>
License: v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
Author: Jean-Pascal MILCENT <jpm@tela-botanica.org>
Located at RestServeur.php
public
|
#
__construct( )
Analyse les données envoyées au serveur, enregistre la méthode HTTP utilisée pour appeler le serveur et parse l'url appelée pour trouver le service demandé. |
public static
|
#
chargerClasse( string $classe )
La méthode __autoload() charge dynamiquement les classes trouvées dans le code. Cette fonction est appelée par php5 quand il trouve une instanciation de classe dans le code. |
public
|
|
public static
|
#
envoyerEnteteStatutHttp( integer $code )
Envoyer un entête HTTP (version 1.0) de statut. Il remplacera systématiquement tout entête HTTP de statut précédement envoyé. |
public static
|
#
gererErreurs( )
Si des exceptions ou des erreurs sont soulevées par le serveur ou les
services, elles sont gérées par cette méthode. 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 standard (via echo). Si seulement des erreurs de type
E_USER_NOTICE, sont présentes, elle sont envoyées en fonction du contenu du
paramètre de config "debogage_mode" : |
public static
|
#
ajouterMessage( string $message )
Permet d'ajouter un message d'erreur ou d'avertissement qui sera envoyé au client. Le message doit être au format texte et en UTF-8. |
string |
METHODE_GET
|
'consulter' |
#
Nom de la méthode appelée dans un service pour éxécuter une requête de type GET. |
string |
METHODE_POST
|
'modifier' |
#
Nom de la méthode appelée dans un service pour éxécuter une requête de type POST. |
string |
METHODE_DELETE
|
'supprimer' |
#
Nom de la méthode appelée dans un service pour éxécuter une requête de type DELETE. |
string |
METHODE_PUT
|
'ajouter' |
#
Nom de la méthode appelée dans un service pour éxécuter une requête de type PUT. |
string |
HTTP_CODE_OK
|
'200' |
#
Code HTTP 200 indiquant le succès de l'accès à un service web par la méthode GET. L'utiliser lors d'une requète de type GET (consulter) pour indiquer le succès de l'opération. Sera renvoyée par défaut par PHP. |
string |
HTTP_CODE_CREATION_OK
|
'201' |
#
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é. L'utiliser lors d'une requète de type PUT (ajouter) ou POST (modifier) pour indiquer le succès de l'opération. |
string |
HTTP_CODE_SUPPRESSION_OK
|
'204' |
#
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. L'utiliser lors d'une requète de type DELETE (supprimer) pour indiquer le succès de l'opération si aucun contenu (status) ne doit être renvoyé, sinon utiliser 200 OK. |
string |
HTTP_CODE_MAUVAISE_REQUETE
|
'400' |
#
Code HTTP 400 indique que les paramètres envoyés au service contiennent des erreurs. L'utiliser pour indiquer l'échec de l'accès au service. La réponse pourra contenir un message expliquant la source de l'erreur. |
string |
HTTP_CODE_ACCES_NON_AUTORISE
|
'401' |
#
Code HTTP 401 indiquant que l'accès à un service web est refusé car l'authentification (obligatoire) a échoué pour accéder à la ressource. |
string |
HTTP_CODE_RESSOURCE_INTROUVABLE
|
'404' |
#
Code HTTP 404 indiquant que la ressource indiquée par l'url est introuvable. |
string |
HTTP_CODE_METHODE_NON_AUTORISE
|
'405' |
#
Code HTTP 405 indiquant soit : |
string |
HTTP_CODE_CONFLIT
|
'409' |
#
Code d'erreur HTTP 409 indiquant qu'un conflit est survenu vis à vis de la ressource. 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 ailleurs. |
string |
HTTP_CODE_CONTENU_REQUIS
|
'411' |
#
Code HTTP 411 indiquant que des paramètres passés dans le contenu de la requête sont nécessaires au service. |
string |
HTTP_CODE_ERREUR
|
'500' |
#
Code d'erreur HTTP 500 Internal Server Error. L'utiliser quand le serveur ou un service soulève une erreur ou une exception. |
string |
MOTIF_API_VERSION
|
'/^[0-9]+(?:[.][0-9]+)*$/' |
#
Motif de l'epression régulière vérfiant la version de l'API. |
string |
MOTIF_SERVICE_NOM
|
'/^[a-z0-9]+(?:[-][a-z0-9]+)*$/' |
#
Motif de l'epression régulière vérfiant le nom du service. |