Version 7 — Novembre 2018 — JLuc
Pour le fonctionnement du compilateur : voir A propos du compilateur
Voir aussi : A propos du compilateur
Cette page détaille ce qui fait qu’un La compilation ou l’évaluation d’un squelette est sessionné ou pas traversent plusieurs étapes .
L’état sessionné ou non du contexte courant est géré
- au niveau du compilateur par une globale $GLOBALS['cache_utilise_session']
- au niveau de chaque cache par la métadonnée ['invalideurs']['session']
- est appelé par recuperer_fond dans le cas d’une inclusion dynamique, ou par la fonction html_md5
d’un autre squelette dans le cas d’une inclusion statique
- appelle parametrer
(qui lève éventuellement invalideurs[session]
du cache)
- appelle recuperer_fond
(qui appelle à son tour evaluer_fond
), pour chacune de ses inclusions dynamiques
- lève ou baisse le drapeau global cache_utilise_session
qui contamine ou décontamine le compilateur, selon que la page est sessionnée ou non
- est implémenté par public_parametrer_dist
dans le core
- est appelé par evaluer_fond
et aussi, directement, par le calcul du squelette principal de la page appelée par la requête http
- appelle styliser
et composer
- appelle evaluer_fond
pour chacune de ses inclusions statiques
- appelle la fonction html_md5
du squelette, qui lève éventuellement invalideurs[session]
dans le cache, si le cache est sessionné
- est appelé par les inclusions_dynamiques
et plein d’autres contextes en tant qu’API de haut niveau
- (FIX #4235 : sauvegarde l’état et abaisse le flag global cache_utilise_session
)
- appelle evaluer_fond
- appelle le pipeline recuperer_fond
et encoder_contexte_ajax
au besoin
- (FIX #4235 : restaure l’état antérieur du flag global cache_utilise_session
)
Squelette principal :
<INCLURE{fond=inclure/shouldbesafe}>
<INCLURE{fond=inclure/contaminant}>
<INCLURE{fond=inclure/shouldbesafetoo}>
<INCLURE{fond=inclure/shouldbesafetoo}>
shouldbesafe, shouldbesafetoo et shouldbesafetooencore ne contiennent rien de sessionnant.