Обновление устаревших методов

Я обновляю старый бит пользовательского плагина Joomla, и есть устаревшая строка, в которой говорится: JResponse::allowCache(false); - что такое «правильный» способ справиться с этим для Joomla 3 .x совместимость?

Кроме того, возможно, это может быть отдельный вопрос, но есть ли способ установить key => пары значений вручную в кеше Joomla? Например, этот плагин выполняет поиск в американских штатах. Поэтому, если он отображает много информации, он должен ударить по БД много раз, ища аббревиатуру состояния, когда мы могли бы просто кэшировать этот ответ.

6 голосов | спросил user101289 26 FebruaryEurope/MoscowbFri, 26 Feb 2016 06:08:56 +0300000000amFri, 26 Feb 2016 06:08:56 +030016 2016, 06:08:56

2 ответа


6

JResponse::allowCache(false); замена

JFactory::getApplication()->allowCache(false);

Чтобы установить key => value элементов кэша:

// 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);

Как вы можете видеть, вы можете установить необязательный $group. Это полезно для очистки всего кеша в определенной группе или нет в определенной группе.

Например:

$cache->clean('groupName'); // will clean all cache IN "groupName" group
$cache->clean('groupName', 'notgroup'); // will clean all cache NOT IN "groupName" group
ответил Rene Korss 26 FebruaryEurope/MoscowbFri, 26 Feb 2016 09:57:48 +0300000000amFri, 26 Feb 2016 09:57:48 +030016 2016, 09:57:48
5

Извините, что напомнил этот старый вопрос, но принятый ответ не совсем корректен. Большинство вещей в JResponse заменяются аналогичным вызовом метода в экземплярах JApplicationWeb (из которых являются классы веб-приложений CMS). См. https://api.joomla.org/cms-3/classes/JResponse.html . для более подробной информации.

So JResponse::allowCache(false); заменяется на JFactory::getApplication()->allowCache(false);.

ответил Michael 12 MaramSat, 12 Mar 2016 04:47:09 +03002016-03-12T04:47:09+03:0004 2016, 04:47:09

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132