{{{
if (!($apcEnabled = Apc::enabled()) && !is_writable(LITHIUM_APP_PATH . '/resources/tmp/cache')) {
return;
}
if ($apcEnabled) {
$default = array(
'adapter' => 'lithium\storage\cache\adapter\Apc',
);
} else {
$default = array(
'adapter' => 'lithium\storage\cache\adapter\File',
'strategies' => array('Serializer')
);
}
Cache::config(compact('default'));
Dispatcher::applyFilter('run', function($self, $params, $chain) {
if ($cache = Cache::read('default', 'core.libraries')) {
$cache = (array) $cache + Libraries::cache();
Libraries::cache($cache);
}
$result = $chain->next($self, $params, $chain);
if ($cache != Libraries::cache()) {
Cache::write('default', 'core.libraries', Libraries::cache(), '+1 day');
}
return $result;
});
}}}