web-dev-qa-db-fra.com

la classe 'JCache' n'a pas de méthode 'cleanCache'

Selon https://docs.joomla.org/Using_caching_to_speed_up_votre_code , je dois utiliser $cache->cleanCache(); si je souhaite effacer le cache joomla dans mon script personnalisé. Cette fonction renvoie l'erreur "n'a pas de méthode cleanCache". Autant que je sache dans l'API, la nouvelle méthode s'appelle "clean". Cependant, cela n'efface pas non plus le cache (je peux toujours voir les fichiers de cache via ftp). Est-ce que quelque chose est cassé?

J'utilise Joomla 3.7.3

2
pkExec

Oui, la documentation est fausse. Voici comment c'est fait. J'ai trouvé votre question en demandant moi-même la même chose, et je me suis rendu compte qu'il allait falloir que je la trouve. Pas difficile après avoir lu le modèle com_cache/cache. Modifiez le chemin du cache si vous êtes dans/administrator

$conf = JFactory::getConfig();
$options = array(
    'defaultgroup' => '',
    'storage'      => $conf->get('cache_handler', ''),
    'caching'      => true,
    'cachebase'    => $conf->get('cache_path', JPATH_SITE . '/cache')
);
$cache = JCache::getInstance('', $options);
$cache->clean('your_extension_here');
1
Michael