Le 01-Nov-2001 Fil a ecrit:
@ Marianne (ml-tech.web1901@maretmanu.org) :
> BasPage("[(#DATE_REDAC|affdate)]", #ID_RUBRIQUE);
> Je comprend que l'on peut vouloir écrire du code qui sera exécuté à
> chaque
> fois mais on perd une partie des gains du cache. Donc y'a-t-il un moyen
> d'en écrire, en particulier quand on passe par mes_fonctions.php3, qui
> ne
> sera pas réexécuté à chaque affichage du ficher cache ?Oui, mais pour l'instant nous sommes limités à des fonctions prenant un
seul
argument. On installe la fonction toto($texte) dans mes_fonctions.php3,
et
on l'appelle ainsi dans le squelette :[(#CHAMP|filtre1|filtre2|toto|filtre3)]
qui sera "compilé", dans le cache, sous la forme
$resultat = filtre3(toto(filtre2(filtre1($valeur_du_champ))));
J'ai vu cette utilisation des fonctions perso, et c'est une bonne idée mais
je n'ai pas encore testée.
Donc, si j'ai bien compris, avec cette utilisation-là, la fonction perso
n'est pas interprétée dans le fichier cache et on peut y
utiliser sans risque les fonctions définies ailleurs.
Dans le cas de figure que tu présentes (une fonction de deux
paramètres), il
faut que la fonction soit présente lors de l'exécution du cache, donc
procéder ainsi :en début du squelette, indiquer
<? include "mes_fonctions_cache.php3" ?>et mettre la fonction dans le fichier en question
(mes_fonctions_cache.php3).
ha ok, et alors, on peut utiliser des fonctions définies ailleurs ? Mais,
elle sera exécutée à chaque appel du cache, donc une légère perte de
rapidité ?
Attention toutefois, lorsqu'il s'agit de passer un champ texte en
paramètre,
si le texte contient un " ton fichier caché va planter. Donc il faut
ajouter
le filtre addslashes() dans la partie pré-cache, et stripslashes() dans
le
cache, comme suit :
BasPage(stripslashes("[(#TEXTE|addslashes)]"), #ID_RUBRIQUE);
Précieux à savoir, merci.
Pour avancer, on aimerait passer des paramètres aux filtres, mais on
Whaouh, cela va se sophistiquer drolement.
Merci,
--
Marianne ROGER (Montpellier France)
maroger@maretmanu.org Maretmanu : Linux démystifié : tout savoir sur le système d'exploitation libre et puissant