Pour les heureux utilisateurs de FastTemplates - PHP - Programmation
Marsh Posté le 28-08-2002 à 17:51:14
Même si je ne me sers po de FastTemplates ts les jours, je te félicite pour ces modifs !
Marsh Posté le 28-08-2002 à 19:47:58
ethernal a écrit a écrit : hello à tous, Voici une nouvelle qui fera plaisir à tous ceux qui utilisent ce "merveilleux" ( ) gestionnaire de template et qui déplorent sa lenteur !! J'ai fini une première modification pour qu'il égale (ou au moins essaye) en rapidité les meilleurs gestionnaires de templates... source : http://www.ethernal.be/pages/fastTemplates.class.phps benchmark 1 : http://www.ethernal.be/work/templa [...] mark1.html benchmark 2 : http://www.ethernal.be/work/templa [...] mark2.html en pratique, il engendre des gains de qq centièmes pour de petites pages, et de 50% pour les pages plus conséquentes. Il est encore améliorable et le sera sans doute d'ici peu. Entre autre la fonction dynamique (define_dynamic -> parse_dynamic) qui est plus lente que d'origine Toute les méthodes publiques ont été conservées, l'utilisation est identiquement la même. (donc vous pouver écraser l'ancienne classe sans crainte) Seul les méthodes strict() et no_strict() ont disparu pour laisser place à - show_unk_keys () pour écrire dans le log d'apache les clés non transformées. (correspond à l'ancien strict() ) - remove_unk_keys () pour enlever sans message les clés non trouvées (correspond à l'ancien no_strict() ) - let_unk_keys () laisse les clés non trouvées (pas de suppression du template) Voila qui devrait vous permettre de continuer à développer avec FastTemplates sans avoir peur de devoir passer à un autre gestionnaire. a+ |
C claier ! merci à toi !
J'ai fait tout mon site avec fast template et je suis pas mécontent de l'outil, même si il est pas le plus rapide.
Sympa de continuer à le developper en tout cas
Marsh Posté le 29-08-2002 à 00:59:59
au moins une personne qui l'emploit
j'ai mis une V2 hier (écrasé l'ancienne)
elle optimise les define_dynamic() et les parse de blocks dynamiques (entre 25-50% de gains lors d'une boucle dynamique).
si tu remarques des problèmes de compatibilité de l'utilisation de la classe originale par rapport à celle-ci n'hésite pas à me contacter. jusqu'ici je n'ai pas rencontré de problème.
a+
Ethernal
Marsh Posté le 29-08-2002 à 01:08:06
pour expliquer ce que j'ai fait :
au lieu de parser le texte à la recherche de {tags} avec str_replace(), j'ai fait une fonction sur base d'inspiration de phemplate.
Elle découpe le texte en un tableau $template[$i]['str'] et $template[$i]['key']. C'est largement plus rapide !
je m'arrange pour ne le faire qu'une seule fois (au chargement du template (get_tempate() ) ou lors de l'extraction du block dynamique.
Lors de la V1, pour extraire un bloc dynamique, je recréeais le texte puis extraction du block, puis transfo en tableau du parent et du block.
Dans la V2, je parcours directement le tableau du parent et recrée à la volée le tableau du parent (sans le block dynamique) et le block dynamique.
Marsh Posté le 29-08-2002 à 12:33:42
ethernal a écrit a écrit : pour expliquer ce que j'ai fait : au lieu de parser le texte à la recherche de {tags} avec str_replace(), j'ai fait une fonction sur base d'inspiration de phemplate. Elle découpe le texte en un tableau $template[$i]['str'] et $template[$i]['key']. C'est largement plus rapide ! je m'arrange pour ne le faire qu'une seule fois (au chargement du template (get_tempate() ) ou lors de l'extraction du block dynamique. Lors de la V1, pour extraire un bloc dynamique, je recréeais le texte puis extraction du block, puis transfo en tableau du parent et du block. Dans la V2, je parcours directement le tableau du parent et recrée à la volée le tableau du parent (sans le block dynamique) et le block dynamique. |
Ben de toute façon, le strreplace merdait grave sous php 4.2.2 ? (celui sur ovh) et j'avais déjà dû le bidouiller pour que ça marche.
J'ai pas encore essayé ta classe : je fais ça ce soir et je t'envoie mon feedback.
Marsh Posté le 29-08-2002 à 14:24:10
latruffe a écrit a écrit : Ben de toute façon, le strreplace merdait grave sous php 4.2.2 ? (celui sur ovh) et j'avais déjà dû le bidouiller pour que ça marche. J'ai pas encore essayé ta classe : je fais ça ce soir et je t'envoie mon feedback. |
ok thx
y a juste ne chose qui ne fctera pas :
si tu veux remplacer {var} par {var2}{var3}, puis {var2} par xx et {var3} par yy.
évidemment c'est pas très courant comme technique...
Marsh Posté le 29-08-2002 à 22:18:57
ben écoute pour le moment, je ne rencontre aucun problème avec ta classe.
Ca a l'air de bien fonctionner.
Marsh Posté le 29-08-2002 à 22:28:01
latruffe a écrit a écrit : ben écoute pour le moment, je ne rencontre aucun problème avec ta classe. Ca a l'air de bien fonctionner. |
ouf
Marsh Posté le 27-08-2002 à 18:34:15
hello à tous,
Voici une nouvelle qui fera plaisir à tous ceux qui utilisent ce "merveilleux" ( ) gestionnaire de template et qui déplorent sa lenteur !!
J'ai fini une première modification pour qu'il égale (ou au moins essaye) en rapidité les meilleurs gestionnaires de templates...
source : http://www.ethernal.be/pages/fastTemplates.class.phps
benchmark 1 : http://www.ethernal.be/work/templa [...] mark1.html
benchmark 2 : http://www.ethernal.be/work/templa [...] mark2.html
en pratique, il engendre des gains de qq centièmes pour de petites pages, et de 50% pour les pages plus conséquentes.
Il est encore améliorable et le sera sans doute d'ici peu.
Entre autre la fonction dynamique (define_dynamic -> parse_dynamic) qui est plus lente que d'origine
Toute les méthodes publiques ont été conservées, l'utilisation est identiquement la même. (donc vous pouver écraser l'ancienne classe sans crainte)
Seul les méthodes strict() et no_strict() ont disparu pour laisser place à
- show_unk_keys () pour écrire dans le log d'apache les clés non transformées. (correspond à l'ancien strict() )
- remove_unk_keys () pour enlever sans message les clés non trouvées (correspond à l'ancien no_strict() )
- let_unk_keys () laisse les clés non trouvées (pas de suppression du template)
Voila qui devrait vous permettre de continuer à développer avec FastTemplates sans avoir peur de devoir passer à un autre gestionnaire.
a+
---------------
...oups kernel error...