Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Salut,
Je suis en train de faire un site où j'utilise le Zend Framework et un système de templates, ici Smarty.
Etant donné que ces deux librairies ont un système de cache relativement performant, lequel est-il préférable d'utiliser ? Je me vois pas trop utiliser et mélanger les deux, avec du "if ($cache->start('xxx'))" à un endroit du code et du "if ($tpl->is_cached('yyy'))" à un autre endroit...
Des suggestions ?
Merci
Hors ligne
J'ai la même configuration que toi. Comme système de cache, je m'oriente plutôt vers Zend_Cache. Comme ça si une page n'a pas changé, on a moins de traitement (pas d'initialisation de smarty, moins de couches ZF à traverser avant l'affichage...).
Quand je l'aurai mis en place, je pourrai vous dire combien j'ai gagné et si l'approche est efficace, mais ça ne sera pas prêt avant 2 mois (j'ai pas mal de choses à coder avant de m'intéresser au cache...)
A+, Philippe
Hors ligne
Je pensais également m'orienter vers Zend_Cache, étant donné qu'il semble moins lourd que Smarty. Néanmoins, au niveau de la mise en place du système, je m'interroge...
Comme tout utilisateur de Smarty, j'utilise des $tpl->assign('xxx', 'yyy'); puis tout à la fin de la page, je fais un echo $tpl->fetch('ma_page.tpl');
Si j'ai bien compris la doc du ZF, dois-je faire encadrer :
- $tpl->fetch() par un cache de type Zend_Cache::factory('Output', 'File', ...) ?
- les multiples $tpl->assign() par un cache de type Zend_Cache::factory('Core', 'File', ...) ?
Hors ligne
hum... je pensais faire beaucoup plus bourrin que toi. Je pensais créer un plugin dédié au cache. Ensuite en fonction des modules/controlleurs/action/params appelés, je vais chercher la donnée dans le cache si besoin. Si la donnée est dans le cache, j'arrête tout et je renvoie les données au navigateur.
Je n'ai pas essayé ma méthode... il y a peut-être un trou dans la raquette, mais l'avantage est que ça évite pas mal de traitements (instanciation du controlleur, plus de dispatch, plus d'appel aux helpers...)
Dans tous les cas, si tu te lances dans cette voie, je veux bien un retour
A+, Philippe
Hors ligne
Je suis aussi intéressé par la gestion du cache dans le MVC ^^
Un retour quelqu'un ?
Hors ligne
or gestion du cache j'ai posté il y a quelque temps une methode pour intégrer directement smarty à sa vue.
ZF continue de fonctionner comme avant il n'y a rien à changer dans ses contrôleurs et la vue s'occupe seule de smarty.
http://www.z-f.fr/forum/viewtopic.php?id=359
si tu veux gérer le cache smarty tu le définie une fois pour toute dans ta classe vue
A+JYT
Dernière modification par sekaijin (04-10-2007 20:48:56)
Hors ligne
Malheureusement je n'utilise pas du tout le MVC...
Après quelques essais, j'arrive à cacher les données affichées (output) mais en ce qui concerne le caching de traitements PHP, j'ai bien du mal à le faire fonctionner... Pour cacher une méthode de classe, j'ai l'impression que cette dernière doit renvoyer un résultat, que l'on stocke dans le cache. De même, s'il y a des variables globales modifiées au sein de la méthode (en faisant par exemple global $tpl; puis $tpl->assign(...)), il n'y a aucune modification si les données proviennent du cache...
Bref, je crois que je suis pas au bout de mes peines pour bien comprendre le fonctionnement de Zend_Cache et voir les meilleures optimisations possibles...
Hors ligne
Pages: 1