Subversion Repositories Applications.framework

Rev

Rev 237 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
232 jpm 1
<?php
2
/**
3
 * Classe principale gérant les services.
4
 * Paramètres liés dans config.ini :
5
 *  - serveur.baseURL
6
 *
7
 * Encodage en entrée : utf8
8
 * Encodage en sortie : utf8
9
 *
10
 * @category	Php 5.2
11
 * @package	Framework
12
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
13
 * @copyright	Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
14
 * @license	GPL v3 <http://www.gnu.org/licenses/gpl.txt>
15
 * @license	CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
16
 * @version	SVN : $Id$
17
 * @link		/doc/framework/
18
 */
19
abstract class Service {
20
 
21
	public function __construct($config) {
22
 
23
	}
24
 
25
	/**
26
	 * Méthode appelée lors d'une requête HTTP de type GET.
27
	 *
28
	 * Si la consultation est un succès, le code statut HTTP retourné devrait être 200.
29
	 *
30
	 * @param array Morceaux de l'url servant à préciser la ressource concerné pour le service demandé.
31
	 * @param array Partie de l'url situé après le '?' servant à paramétrer le service demandé.
32
	 * @return string une chaine indiquant le succès de l'opération et les données demandées.
33
	 */
34
	public function consulter($ressources, $parametres) {
35
		Serveur::envoyerEnteteStatutHttp(Serveur::HTTP_CODE_METHODE_NON_AUTORISE);
36
		echo "Le service '".get_class($this)."' n'autorise pas la consultation.";
37
	}
38
 
39
	/**
40
	 * Méthode appelée lors d'une requête HTTP de type POST.
41
	 *
42
	 * La ressource à modifier est indiquée via l'url. Les données devant servir à la mise à jours sont passées dans le corps
43
	 * de la requête.
44
	 * Si la modification est un succès, le code statut HTTP retourné devrait être 201.
45
	 *
46
	 * @param array Morceaux de l'url servant à préciser la ressource concerné pour le service demandé.
47
	 * @param array les données transférées dans le corps de la requête devant servir à la modification.
48
	 * @return mixed une chaine indiquant le succès de l'opération ou rien.
49
	 */
50
	public function modifier($ressources, $requeteDonnees) {
51
		Serveur::envoyerEnteteStatutHttp(Serveur::HTTP_CODE_METHODE_NON_AUTORISE);
52
		echo "Le service '".get_class($this)."' n'autorise pas la modification.";
53
	}
54
 
55
	/**
56
	 * Méthode appelée lors d'une requête HTTP de type PUT.
57
	 *
58
	 * L'identifiant de la ressource à ajouter est indiqué via l'url si on le connait par avance. Sinon, il doit être créé par
59
	 * le service. Dans ce dernier cas, le nouvel identifiant devrait être renvoyé dans le corps de la réponse.
60
	 * Si l'ajout est un succès, le code statut HTTP retourné devrait être 201.
61
	 *
62
	 * @param array Morceaux de l'url servant à préciser la ressource concerné pour le service demandé.
63
	 * @param array les données transférées dans le corps de la requête devant servir à l'ajout.
64
	 * @return string l'identifiant créé.
65
	 */
66
	public function ajouter($ressources, $requeteDonnees) {
67
		Serveur::envoyerEnteteStatutHttp(Serveur::HTTP_CODE_METHODE_NON_AUTORISE);
68
		echo "Le service '".get_class($this)."' n'autorise pas la création.";
69
	}
70
 
71
	/**
72
	 * Méthode appelée lors d'une requête HTTP de type DELETE (ou POST avec action=DELETE dans le corps de la requete).
73
	 *
74
	 * Si la suppression est un succès, le code statut HTTP retourné devrait être 204.
75
	 *
76
	 * @param array Morceaux de l'url servant à préciser la ressource concerné pour le service demandé.
77
	 * @return mixed une chaine indiquant le succès de l'opération ou rien.
78
	 */
79
	public function supprimer($ressources) {
80
		Serveur::envoyerEnteteStatutHttp(Serveur::HTTP_CODE_METHODE_NON_AUTORISE);
81
		echo "Le service '".get_class($this)."' n'autorise pas la suppression.";
82
	}
83
}
84
?>