Доброго времени суток, уважаемое сообщество. Есть код:
<?php
$url="http://api.openweathermap.org/data/2.5/weather?id=2025339&lang=ru&APPID=f1640908867a081e19cd9af2fa68cea2&units=metric";
$json=file_get_contents($url);
$data=json_decode($json,true);
echo $data['main']['temp'], '°C </div>' ;
echo '<div id="infoImg"><img src=http://openweathermap.org/img/w/', $data['weather'][0]['icon'],'.png></div>';
?>
Он отдаёт 2 значения с сайта OpenWeather. Подскажите как его переписать так, чтобы хранить полученные значения в КЭШе друпала до тех пор, пока не перезапуститься крон, а в произвольном месте сайта, выводить кешированные данные? Объясните чайнику элементарно, буду благодарен за подробный пример.
Комментарии
https://www.lullabot.com/articles/a-beginners-guide-to-caching-data-in-d...
или в двух словах:
<?php
function my_module_function() {
$my_data = &drupal_static(__FUNCTION__);
if (!isset($my_data)) {
if ($cache = cache_get('my_module_data')) {
$my_data = $cache->data;
}
else {
// Do your expensive calculations here, and populate $my_data
// with the correct stuff..
cache_set('my_module_data', $my_data, 'cache', time()+3600);
}
}
return $my_data;
}
?>
Маленькая поправка..
Если по условию ТС кэш должен генерироваться по крону, то время жизни кэша в этой функции устанавливать не надо.
и вообще.. логику функции необходимо пересмотреть.. она предназначена для другого..
но напрвление правильное-)