Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Hello tout le monde,
je suis en train de développer une application MVC. Pour des raisons de performance j'ai mis un système de cache en place.
Ce système utilise exclusivement le composant Zend_Cache_Frontend_Class de Zend.
Voila mon système:
Ma class: My_ClassCache
class My_ClassCache { /** * Singleton instance * */ protected static $_cache = null; private static $frontend; private static $backend; private static $frontendOptions; private static $backendOptions; public static function init($frontend, $backend, $frontendOptions, $backendOptions){ self::$frontend = $frontend; self::$backend = $backend; self::$frontendOptions = $frontendOptions; self::$backendOptions = $backendOptions; } public static function factory( $classInstance){ self::$frontendOptions["cached_entity"] = $classInstance; return Zend_Cache::factory(self::$frontend, self::$backend, self::$frontendOptions, self::$backendOptions); } }
initialisation dans le bootstrap:
... //Mise en place d'un plugin de cache $frontend = "Class"; $backend = "File"; $frontendOptions = array( "caching" => $config->cache->activate, "lifetime" => $config->cache->lifetime ); $backendOptions = array( 'cache_dir' => '../cache/class/'); My_ClassCache::init($frontend, $backend, $frontendOptions, $backendOptions); ....
puis dans mon controlleur (un exemple):
$cacheClass = My_ClassCache::factory( new Jeux() ); $cacheJeuxStatic = My_ClassCache::factory( "Jeux" );
mais il y a un pb. Je pense que ce n'est pas dut à ma classe mais plus à la gestion des classes statiques
En fait j'ai l'impression que si j'appel un fonction comme ceci :
$cacheJeux->getListGame(array("nbDisplay" => 6));
ou
$cacheJeux->getListGame(array("nbDisplay" => 8));
le résultat n'est pas le même !!!
mais:
$cacheJeux->getListGame( 6 );
ou
$cacheJeux->getListGame( 8 );
sont différents.
Est ce que quelqu'un confirme ce que je dis, ou est ce que je crack complet.
J'ai l'impression qu'il faut que je rajoute une variable à ma fonction. Mais je trouve ça moyen.
quand pensez vous ?
Merci de votre aide et n'hésitez pas à me faire un petit feedback sur la classe que j'ai codé.
Dernière modification par bucheron (03-09-2008 15:50:40)
Hors ligne
J'ai pas trop compris le problème, soit tu mets en cache ton objet, soit tu mets une chaine ; le tout étant d'être d'accord avec so-même au final ....
Zend_Memory est peut être plus adapté (selon la situation)
... et de mon coté j'aurai étendu Zend_Cache :-)
Hors ligne
en fait je crois que mon problème survient lorsque je cache une classe (le pb ne survient pas pour une classe statique).
Ma question est la suivante:
Est ce que le principe de cache sur les classe est la même chose que sur les classes statiques ?
Car en passant le constructeur à mon cache j'obtiens tout le temps les même réponses donc ça me parait bizarre!!!
Hors ligne
Pages: 1