/
principes.gtw
48 lines (37 loc) · 2.25 KB
/
principes.gtw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
~~LANG:EN@enman:principles~~
Voici quelques explications sur le fonctionnement du framework et sur les
principaux objets que vous allez avoir à utiliser.
Le framework se base sur un principe : à chaque URL correspond une action.
===== Étapes d'exécution =====
{{schema_logic.png}}
- Le serveur web reçoit une requête HTTP.
* Le point d'entrée est exécuté par le serveur lorsqu'une URL l'indique.
Par défaut il s'agit de @@F@index.php@@.
* Ce script instancie un objet de type @@C@jRequest@@ et un coordinateur de
type @@C@jCoordinator@@.
* L'objet @@C@jRequest@@ analyse alors le contenu de la requête HTTP pour
en extraire les données. Celles-ci peuvent être dans l'URL et/ou dans le
corps de la requête (méthode POST par exemple).
* En particulier @@C@jRequest@@ détermine le nom de l'action à exécuter et
le nom du module concerné.
- Le paramètre action contient le nom du contrôleur et la méthode à exécuter.
Ce contrôleur est donc instancié et la méthode exécutée. La méthode récupère
les paramètres de requête pour déterminer les traitements à suivre.
- Le contrôleur exécute les traitements métiers et récupère éventuellement des
résultats qui seront utilisés pour l'affichage.
- Le contrôleur instancie un objet de type @@C@jResponse@@ auquel il assignera
les données à afficher, initialisera les templates, etc...
- Jelix récupère cet objet @@C@jResponse@@, invoque la génération du document
en sortie et envoie ce dernier au navigateur.
===== Ce que vous avez à manipuler =====
En général, vous n'aurez pas à utiliser un objet @@C@jRequest@@ ou
@@C@jCoordinator@@.
Vous aurez par contre à créer un objet de type @@C@jController@@ pour y inclure
le code d'une action. Cet objet propose des méthodes pour récupérer les
paramètres extraits par @@C@jRequest@@, mais aussi pour récupérer un objet
@@C@jResponse@@. Vous aurez donc dans le code de l'action, en plus de manipuler
vos objets "métier", à manipuler cet objet @@C@jResponse@@ pour indiquer les
données à renvoyer au navigateur.
===== Objets en détails =====
Voyons maintenant un descriptif de chaque objet présenté ici ainsi que d'autres,
à commencer par les sélecteurs.