Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 06-08-2009 12:09:04

Lopimp
Membre
Date d'inscription: 31-07-2009
Messages: 22

[ZEND_Translate][1.8.4] Caching des labels

Bonjour,

j'ai une question au point de vue performence pour l'utilisation du multi-lingue et du caching.

J'utilise le caching APC et dans mon bootstrap quand j'initialise Zend_Translate, je check si les traductions sont déjà stockées en cache.

Si elles ne sont pas en cache j'utilise zend_translate qui rempli un array qui contiendra toutes mes traductions

Code:

$translate["en"] = new Zend_Translate('array', APPLICATION_PATH . '/languages/en.php', 'en');
$translate["fr"] = new Zend_Translate('array', APPLICATION_PATH . '/languages/fr.php', 'fr');

ensuite je stocke cet array ($translate) dans le cache.

Si l'array existe déjà en cache, je ne le recrée pas, je le récupère du cache.

Une fois que j'ai mon array $translate je mets les labels de la langue de l'utilisateur dans le registre pour les utiliser dans mon appplication

Code:

Zend_Registry::set('Zend_Translate', $translate["en"]);

Pour l'instant mon stockage des traductions se fait via un array dans un fichier php, mais je compte changer pour utiliser un fichier texte ou une db (pour pouvoir faire un outil d'administration pour mettre à jour les fichier de traduction online).

J'ai quelques questions immaginons  que le nombre de traduction peut être assez conséquent pour l'application):
- Est-ce que cette mise en place du caching offre un gain de performence intéressant?
- Est-ce que le fait d'utiliser un support ou un autre .ini, bd, array,...) change quelque chose au niveau performence vu que je ne reafraichirait le cache qu'une fosi par semaine (ou manuellement lorsque l'on fait des changement de traductions)?
- Est-ce que le fait d'avoir un seul array qui contient tous les labels dont j'ai besoin dans le site ne risque pas d'etre lourd? Vaut-il mieux essayer de mettre en place un système ou les labels seraient divisé dans différents arrays pour que les acces soient plus rapide, ou est ce que ca ne posera de toute facon pas de problème même en ayant bcp de label dans un même et unique array.

merci d'avance

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