Управление кэшем в MODx через php header()

Исходный код плагина:

Назвать можно как угодно, у меня он называется: CacheControl

if($modx->context->get('key') != "mgr" && $modx->resource->get('cacheable') && !$modx->user->isMember(array('Administrator','Content Manager')))
{
  $expires = 60*60*24*1;
  header("Pragma: public");
  header("Cache-Control: maxage=".$expires);
  header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');

  $dateLastmodif = strtotime($modx->resource->get('editedon'));
  if(empty($dateLastmodif)) $dateLastmodif = strtotime($modx->resource->get('createdon'));
  header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $dateLastmodif) . ' GMT');
}

Плагин необходимо активировать на событие: OnWebPagePrerender

В результате будут сгенерированны заголовки вида:

Pragma: public
Cache-Control: maxage=86400
Expires: Fri, 20 Sep 2013 07:54:32 GMT
Last-Modified: Thu, 19 Sep 2013 07:54:28 GMT

Данные о последних изменениях будут браться из MODx, хранение кэша задаётся на одни сутки. Этим значением можно управлять, изменяя значение контейнера $expires (время хранения кэша в секундах).

Недавно коллеги по цеху подсказали о существовании пакета microcache, который более развёрнуто делает то же самое. И написан давным давно. Я по сути "изобрёл колесо".