Je mets à jour un ancien plug-in Joomla personnalisé, et une ligne obsolète indique JResponse::allowCache(false);
- quel est le "bon" moyen de gérer cela pour la compatibilité Joomla 3.x?
En outre, il pourrait peut-être s'agir d'une question distincte, mais existe-t-il un moyen de définir manuellement les paires clé => valeur dans le cache Joomla? Par exemple, ce plugin effectue des recherches pour les États américains. Donc, si elle affiche beaucoup d'informations, elle doit consulter la base de données à la recherche de l'abréviation d'état, lorsque nous pourrions simplement mettre en cache cette réponse.
JResponse::allowCache(false);
remplacement est
JFactory::getApplication()->allowCache(false);
Mettre en place key => value
éléments de cache:
// Get cache instance
$cache = JFactory::getCache();
// Store in cache
$cacheItemStored = $cache->store($value, $key, $group = null); // boolean
// Get from cache
$value = $cache->get($key, $group = null);
Comme vous pouvez le voir, vous pouvez définir facultatif $group
. Ceci est utile pour nettoyer tout le cache dans un groupe spécifique ou pas dans un groupe spécifique.
Par exemple:
$cache->clean('groupName'); // will clean all cache IN "groupName" group
$cache->clean('groupName', 'notgroup'); // will clean all cache NOT IN "groupName" group
Désolé de poser cette question plus ancienne, mais la réponse acceptée n'est pas totalement correcte. La plupart des éléments de JResponse sont remplacés par un appel de méthode portant le même nom dans les instances JApplicationWeb (dont les classes d'applications Web CMS). Voir https://api.joomla.org/cms-3/classes/JResponse.html pour plus de détails.
Donc, JResponse::allowCache(false);
est remplacé par JFactory::getApplication()->allowCache(false);
.