|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
![]() ![]() Arnaud FeltzDéveloppeur .NET Inscription : août 2005 Messages : 5 204 ![]() |
Salut tout le monde,
dans le souci d'optimisation de mon site, j'aimerai mettre une partie de ma page en cache. En effet, c'est la base commune de toutes mes pages, juste le contenu change. Ma page : Code :
Comme vous pouvez le voir, c'est juste le contenu qui change, et j'aurai aimé savoir comment mettre tout ça dans le cache ( sans le contenu bien évidemment vu qu'il change tout le temps ). J'ai lu que c'était possible, mais n'est pas du tout compris comment je devais faire pour m'y prendre ![]() Il n'y a que très peu de documentations sur ce sujet et c'est regrettable... ( le forum fr de smarty étant plus ou moins mort, ce n'est même pas la peine d'attendre une réponse, y a un post par jour... )
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère Installation de Code::Blocks sous Debian à partir de Nightly Builds
|
||
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Développeur Web Inscription : mai 2007 Messages : 282 ![]() |
Salut,
c'est plus en Javascript que tu peux gérer ça mais je pense que les navigateurs gérent la mise en cache lors du premier chargement de ta page . |
|
|
00
|
|
|
#3 |
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
Ca-est peu ?
http://smarty.php.net/manual/fr/caching.php Par contre, je crains que de mettre en cache l'exterieur ne previennent de compiler l'interieur ... Je vous propose de regarder dans le dossier de compilation de smarty ... EDIT : fonction {set_cache_lifetime}
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
|
|
00
|
|
|
#4 |
![]() ![]() Arnaud FeltzDéveloppeur .NET Inscription : août 2005 Messages : 5 204 ![]() |
Je ne veux pas gérer cela en JS pusique je peux le faire avec Smarty et que ça fait même partie de ces avantages, quant à is_null, je te remercie mais j'ai déjà lu et relu la doc, je vois pas comment ça marche
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère Installation de Code::Blocks sous Debian à partir de Nightly Builds
|
|
00
|
|
|
#5 | ||
|
Membre Expert
![]() ![]() ERIC POMMEREAUIngénieur intégration Inscription : décembre 2004 Messages : 683 ![]() |
Bonjour,
As-tu "simplement" essayé de:
Code :
__________________
Eric POMMEREAU Articles : Smarty, JpGraph, Ajax YUI, IPython, Design patern strategy en PHP, Firebug Site : Antiquités du Marché des Ternes |
||
|
00
|
|
|
#6 | |||
![]() ![]() Arnaud FeltzDéveloppeur .NET Inscription : août 2005 Messages : 5 204 ![]() |
Bon, j'ai réussi à ne plus avoir les Warnings
Et il rentre bien dans la fonction insert_getContenu() Mon index.php est dorénavant comme ça : Code :
Citation:
Cette fonction à l'air d'être appelée tout le temps lors de chaque raffraichissement de page
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère Installation de Code::Blocks sous Debian à partir de Nightly Builds
|
|||
|
00
|
|
|
#7 |
|
Membre éprouvé
![]() ![]() |
Là le compilo veut dire que ta variable $mysql n'est pas un objet, donc ça revient à dire que le "new MySQL" n'a pas fonctionné.
Je pense que c'est parce que tu as oublié les parenthèses derrière MySQL : Au passage il est préférable de donner des noms de variable plus explicite (ex. $mesNewsDB ou $mesNewSQL etc En espérant que ça fonctionnera mieux, bon courage ! Sylvain
__________________
.NET / ASP.NET MVC / Delphi / XMLRAD / XSL / Technos Web Mon Blog : http://blog.developpez.com/index.php?blog=89 Mes Articles : http://sjames.developpez.com/ Rubrique XMLRAD: http://xmlrad.developpez.com |
|
|
00
|
|
|
#8 |
![]() ![]() Arnaud FeltzDéveloppeur .NET Inscription : août 2005 Messages : 5 204 ![]() |
Au passage, quand je sors tout ça de la fonction, ça fonctionne très bien ! C'est vrai, j'avais oublié de le préciser, désolé d'avoir oublié
En gros, si je fais pas mon insert et que je fais pas de mise en cache, tout roule comme sur des roulettes, je pense plus pour une histoire de portée de variables qu'autre chose ++
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère Installation de Code::Blocks sous Debian à partir de Nightly Builds
|
|
00
|
|
|
#9 |
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
global $smarty, $mysql; // n'est ce pas
Au fait, pour regler la mise en cache individuellement par fichier, c'est a 2 qu'il faut regler $oSmarty->caching EDIT : fonction {set_cache_lifetime}
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() ![]() ERIC POMMEREAUIngénieur intégration Inscription : décembre 2004 Messages : 683 ![]() |
Je me demande comment on peut faire pour activer le cache individuellement (indépendament selon le fichier de template)... et en gardant la souplesse des includes:
Je n'ai rien trouvé là dessus...
__________________
Eric POMMEREAU Articles : Smarty, JpGraph, Ajax YUI, IPython, Design patern strategy en PHP, Firebug Site : Antiquités du Marché des Ternes |
|
00
|
|
|
#11 |
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
Pareil, j'ai demande sur #smarty@irc.freenode.net mais je n'ai eu aucune reponse ...
Je chercherais dans le code de smarty des que j'en arriverais la (selon mon planning, probablement pas avant la semaine prochaine, d'autant qu'on tente de me noyer sous une avalanche de rapports de bugs). Au pire, il est probablement pas trop dur de faire une petite fonction/classe pour smarty pour emuler un {include} avec souplesse de cache. Mais depuis que j'ai appris au sujet de tokenizer, je brule d'envie de passer a Flexy...
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
|
|
00
|
|
|
#12 |
![]() ![]() Arnaud FeltzDéveloppeur .NET Inscription : août 2005 Messages : 5 204 ![]() |
Le seul article trouvé sur le net au sujet de la gestion du cache se trouve ici, enfin qui parle de gestion individuelle...
Sinon, merci, je tenterai tout ça Au pire pour l'include du footer, je fais un fetch dans mon script PHP de ce dernier et remplace mon include par le résultat du fetch via une variable
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère Installation de Code::Blocks sous Debian à partir de Nightly Builds
|
|
00
|
|
|
#13 | |||
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
Visilbelement, c'est {insert} qu'il faut utiliser a la place d'{include} :
Citation:
/EDIT Mais j'ai ajoute une petite methode smartInclude() a Smarty pour gerer mes caches de sortie & caches de code php. Je n'ai pas termine de tester mais ca donne ca pour l'instant : Code :
On voit l'interet quand on sait qu'il y a 10000 $id_tm statiques (on va economiser un paquet de requetes ...)
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
|||
|
|
00
|
|
|
#14 |
![]() ![]() Arnaud FeltzDéveloppeur .NET Inscription : août 2005 Messages : 5 204 ![]() |
J'ai pas trop compris ce que tu cherches à faire is_null, en tout cas, je sais qu'il faut utiliser la fonction insert puisque je l'ai fais!
![]() L'include de mon footer sera statique, ( pas le header car pour la GoogleMap, il faut rajouter des choses En fait je comprend pas la différence entre la balise insert qui renvoi vers une fonction php du type insert_NAME et la méthodes is_cached de Smarty.. Bref comment faire pour les utiliser quoi... Je trouve Smarty relativement puissant seulement la doc et les explications ne courent pas les rues et je trouve ça dommage ! Surtout pour le cache qui est quand même un des points forts de Smarty... Enfin bref, je trouverai déjà comment faire,
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère Installation de Code::Blocks sous Debian à partir de Nightly Builds
|
|
00
|
|
|
#15 | ||||
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
En fait je comprend pas la différence entre la balise insert qui renvoi vers une fonction php du type insert_NAME et la méthodes is_cached de Smarty..
Bref comment faire pour les utiliser quoi... Je trouve Smarty relativement puissant seulement la doc et les explications ne courent pas les rues et je trouve ça dommage ! Surtout pour le cache qui est quand même un des points forts de Smarty... L'example 14.4 demontre simplement l'interet de is_cached pour preserver le serveur de requetes inutiles. == Ca peut vous interresser ... http://smarty.php.net/manual/en/sect...ndler.func.php == J'ai trouvé, on est vraimment trop bete. Il suffit d'ajouter : Code :
Update du code précédent Code php :
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com