IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres composants PHP Discussion :

Zend_Translate et Zend_Cache, reinitialisation du cache


Sujet :

Autres composants PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 24
    Points : 19
    Points
    19
    Par défaut Zend_Translate et Zend_Cache, reinitialisation du cache
    Bonsoir,

    Est-ce que le comportement de la mise en cache d'une traduction effectuee avec Zend_Translate a un comportement "normal" ? Dans un projet perso, j'utilise des fichiers de traductions TMX que je souhaite mettre en cache via la methode Zend_Translate::setCache. Un comportement logique de cette mise en cache impliquerait une regeneration du cache en cas de changement dans les fichiers de traductions, comportement que je n'arrive a produire en utilisant tant le cache 'Core' que le cache 'File'. S'agirait-il d'une subtilite qui m'echappe ou d'une implementation hasardeuse de la mise en cache des traductions ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $frontendOptions = array();
    $backendOptions = array();
     
    $cache = Zend_Cache::factory('Core','File',$frontendOptions,$backendOptions);
    Zend_Translate::setCache($cache);
    $translate = new Zend_Translate('tmx','../language');
    Voici l'extrait simple du code ne repondant pas a mes attentes, merci d'avance pour vos reponses.

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    La gestion du cache n'est pas vraiment faite par Zend_Translate. C'est à toi d'indiquer quand le cache est obsolète.

    Puisque tu te bases sur des fichiers tmx, le plus simple est probablement d'utiliser le frontend 'file' qui lie la durée de vie du cache à un fichier :
    http://framework.zend.com/manual/fr/...frontends.file

    Il faut pour cela ajouter dans les options du frontend la clé 'master_files'.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    Bonsoir,

    Merci pour cet éclairage, je pensais - naïvement - que s'il y avait une méthode de gestion de cache au sein meme de Zend_Translate, c'était bien pour implémenter un mécanisme visant a le rendre obsolète si nécessaire. Je vais de ce pas utiliser l'option master_file qui est la solution idéale, merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ZF 1.10] Zend_Cache - La mise en cache d'une fonction ne pourrais pas gérer de méthode ?
    Par arnolem dans le forum Autres composants
    Réponses: 1
    Dernier message: 19/05/2010, 15h57
  2. [ZF 1.9] Zend_Cache : Plugin de gestion de cache
    Par beckm dans le forum Autres composants
    Réponses: 1
    Dernier message: 29/01/2010, 08h43
  3. reinitialiser un div caché
    Par klass dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 02/10/2009, 10h41
  4. Zend_Translate & Zend_Cache (avec adaptateur TMX)
    Par Nicolas Milesi dans le forum Autres composants
    Réponses: 1
    Dernier message: 04/03/2009, 09h44
  5. [Zend_Cache] Problème de mise en cache indésirable
    Par Bebel dans le forum Zend Framework
    Réponses: 1
    Dernier message: 21/01/2008, 16h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo