Carnet Wiki

Version 5 — Novembre 2018 JLuc

La compilation ou l’évaluation d’un squelette 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']

Ci aprés c’est pendant la compilation.

evaluer_fond

- 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]</code -  est  appelé  par  recuperer_fond  dans  le  cas  d'une  inclusion  dynamique ,  ou  par  la  fonction  < code>html_md5</code >  d'un  autre  squelette  dans  le  cas  d'une  inclusion  statique 
-   appelle  < code>parametrer</code > du  cache )
 - appelle <code>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 sessionnée est sessionnée ou non

parametrer

-  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 < code>evaluer_fond</code > evaluer_fond pour chacune de ses inclusions statiques
-  appelle la fonction html_md5 du squelette, qui lève fixe éventuellement invalideurs[session] dans le cache, si le cache est sessionné

recuperer_fond

(notes partielles, à compléter)

-  est appelé par les inclusions_dynamiques et plein d’autres contextes en tant qu’API de haut niveau
-   ([ FIX # 4235 -> https://core . appelle < code > evaluer_fond</code > spip.net/issues/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 ->https://core.
spip.net/issues/4235]  : restaure l’état antérieur du flag global cache_utilise_session)