Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 04-10-2007 15:26:43

ALkyD
Membre
Lieu: Limoges
Date d'inscription: 11-07-2007
Messages: 69
Site web

Système de cache : Zend_Cache ou Smarty ?

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 smile

Hors ligne

 

#2 04-10-2007 16:13:51

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Système de cache : Zend_Cache ou Smarty ?

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


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#3 04-10-2007 16:34:08

ALkyD
Membre
Lieu: Limoges
Date d'inscription: 11-07-2007
Messages: 69
Site web

Re: Système de cache : Zend_Cache ou Smarty ?

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

 

#4 04-10-2007 16:46:46

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Système de cache : Zend_Cache ou Smarty ?

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 smile

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#5 04-10-2007 17:10:15

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: Système de cache : Zend_Cache ou Smarty ?

Je suis aussi intéressé par la gestion du cache dans le MVC ^^
Un retour quelqu'un ?

Hors ligne

 

#6 04-10-2007 20:48:30

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Système de cache : Zend_Cache ou Smarty ?

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

 

#7 05-10-2007 00:58:08

ALkyD
Membre
Lieu: Limoges
Date d'inscription: 11-07-2007
Messages: 69
Site web

Re: Système de cache : Zend_Cache ou Smarty ?

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages